首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RESTful API:为什么不对集合和项只使用一个基URL呢?

RESTful API:为什么不对集合和项只使用一个基URL呢?
EN

Stack Overflow用户
提问于 2013-11-30 03:31:38
回答 1查看 175关注 0票数 1

我和一位朋友讨论了RESTful API,他问为什么它使用两个基本URL来处理集合和项(/dogs/dogs/1234),而不是像其他所有东西(/dogs/dogs?id=1234)一样使用带有查询参数的单个URL。

经过进一步的讨论,我意识到我无法提出一个不是基于美学原因的论点(这意味着URL看起来更像//dogs?id=1234/1234而不是)。

您可以有一个基本URL,它同时处理资源的集合和单个项,而且奇怪的是,有一种特殊情况,您使用非查询参数(/1234而不是?id=1234)来引用资源。

这让我不禁要问,是否有一个特定的、非受人尊敬的理由可以将两个基本URL用于资源而不是RESTful API中的一个?

  • 有一件事我认为,嵌套资源,如/狗/1/跳蚤/10似乎很尴尬,但仍然可以用一个单一的基础网址(/dogs?id=1&flea_id=10)。
EN

回答 1

Stack Overflow用户

发布于 2013-11-30 04:13:53

URI设计只是REST的一个非常小的部分,但考虑到花费的时间,您可能会认为它是REST的唯一一部分。身份验证、内容类型、响应代码、方法类型(GET、POST、PUT、DELETE、选项)、发现能力和缓存策略是更重要的考虑因素。

但是,当考虑查询字符串是否合适时,首先确定它们是否能够在不改变资源状态的情况下准确地表示资源的状态。同一资源(您的狗)是否可以使用该URI (想必总是如此)在该位置识别?因为您选择了一个带有ID的查询字符串,而不是表示路径中的ID,该狗会以某种方式改变吗?不,它不会,这就是为什么查询字符串在本例中是很好的。事实上,这两种方法都可以。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20296194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档