REST API GET 适用于多个项目和单个项目

问题描述 投票:0回答:2

据我了解,当创建 REST API 来获取多个项目时,路径将是

GET v1/items

对于单个项目,路径是

GET v1/items/{itemId}

将它们组合起来是否被认为是一种良好的做法,以便一个端点可以处理是否提供了 itemId,如果没有提供,则默认提供多个记录。

如果是,正确的路径是什么。第二个是否涵盖两者,或者是否有调整以允许 itemId 可选?

谢谢

rest
2个回答
2
投票

将它们组合起来是否被认为是一种良好的做法,以便一个端点可以处理是否提供了 itemId,如果没有提供,则默认提供多个记录。

REST而言,没问题。 REST 不会限制您的资源模型,因此如果您的资源是描述项目集合的 HTML 文档,则您可以在有单个项目时使用一种布局,在有多个项目时使用不同的布局,这样就可以了。

但是......在程序而不是试图消费信息的情况下——你的API的消费者可能不会高兴你给他们增加了更多的复杂性,而不是选择一个隐藏 API 外观背后的复杂性的资源模型。


0
投票

我认为最佳实践是确定有两个端点。

但是当你只有一个时,我会把它命名为

GET v1/items/{itemId?}

问号代表可以给ID,但不是必须的

© www.soinside.com 2019 - 2024. All rights reserved.