首页 > 解决方案 > REST API 端点命名约定?

问题描述

我在 REST api 中命名端点时遇到问题。

假设您在客户端有一个 UI,并且该 UI 中有一个包含文件列表的表格。点击文件时,它将继续从服务器下载选定的文件。此外,还有一个按钮,单击该按钮将下载所有文件或选定文件。

所以 API 上的端点可能是这样的结构......

如您所见,问题在于端点与 Api/Files 的冲突。我希望两个端点都按照我指定的方式执行。但是其中一个需要改变……我考虑过在结尾添加一些东西,但我想到的大多是动词。关于如何进行格式化的任何想法?

标签: c#apirestasp.net-coremodel-view-controller

解决方案


仔细检查不同的答案并对其进行测试,我认为最好的答案就是使用不同的端点名称。所以我现在去了...

  • [GET] API/文件/{fileName}
    • 通过路由中提供的文件名获取单个文件。
  • [获取] API/文件
    • 获取文件列表,包括:文件名、大小、类型等...
  • [获取] API/文件/存档
    • 获取文件,以 ZIP 文件形式返回。

这并不完美,但它是有道理的。

一个替代方案可能是...

  • [GET] Api/Files/Zip 但我认为这不是很好。由于端点永远不应该改变,我可能想在某个时候从 zip 中改变它......

推荐阅读