据我了解,当创建 REST API 来获取多个项目时,路径将是
GET v1/items
对于单个项目,路径是
GET v1/items/{itemId}
将它们组合起来是否被认为是一种良好的做法,以便一个端点可以处理是否提供了 itemId,如果没有提供,则默认提供多个记录。
如果是,正确的路径是什么。第二个是否涵盖两者,或者是否有调整以允许 itemId 可选?
谢谢
将它们组合起来是否被认为是一种良好的做法,以便一个端点可以处理是否提供了 itemId,如果没有提供,则默认提供多个记录。
就REST而言,没问题。 REST 不会限制您的资源模型,因此如果您的资源是描述项目集合的 HTML 文档,则您可以在有单个项目时使用一种布局,在有多个项目时使用不同的布局,这样就可以了。
但是......在程序而不是人试图消费信息的情况下——你的API的消费者可能不会高兴你给他们增加了更多的复杂性,而不是选择一个隐藏 API 外观背后的复杂性的资源模型。
我认为最佳实践是确定有两个端点。
但是当你只有一个时,我会把它命名为
GET v1/items/{itemId?}
问号代表可以给ID,但不是必须的