我需要开发一个 REST API,我对 URI 设计有疑问。
设想:
1 - 我正在为一组服务开发一个 REST 接口。
2 - 每个服务从逻辑角度分为几个部分(不是资源)。
3 – 每个资源都可以通过“A”和“B”两种方式访问
什么是最合适的 URI 设计:
/service1/part1/resource?{A|B}
/service1,part1,resource?{A|B}
我需要开发一个 REST API,我对 URI 设计有疑问。
设想:
1 - 我正在为一组服务开发一个 REST 接口。
2 - 每个服务从逻辑角度分为几个部分(不是资源)。
3 – 每个资源都可以通过“A”和“B”两种方式访问
什么是最合适的 URI 设计:
/service1/part1/resource?{A|B}
/service1,part1,resource?{A|B}
这个更好:
/service1/part1/resource?{A|B}
因为它强调层次结构(感谢斜线)。
此外,“访问资源的方式”通常使用 HTTP 动词(如 GET、POST、PUT、DELETE、HEAD 等)发音。如果这就是您所说的“方式”,那么您绝对应该坚持使用 HTTP 动词。
虽然任一 URL 结构都可以工作,但您列出的 /service1/part1/resource?{A|B} 选择更为典型,并且最有可能使用常见的 REST API 消费工具,开发人员可以直观地理解等. 正斜杠的含义实际上是在 URI 标准(我认为是 RFC 1630)中定义的,而相对 URI 仅适用于正斜杠。