![](/img/trans.png)
[英]REST API - One operation that belongs to two different resource endpoints
[英]Different endpoints to get a resource in a API REST
我有一个带有GET端点的 REST API 来根据 ID 检索产品。 现在我需要基于另一个属性检索产品,我不知道我是否必须使用相同的端点并在那里处理多个案例或编写不同的端点,每个案例一个。
谢谢!
假设你有
GET /product/{id}
并且您希望能够通过其他属性查找产品。 如果该属性唯一标识了您可以执行的产品:
GET /product?someOtherAttribute=foo
返回
302 FOUND
Location: /product/5
如果您想避免往返,您可以直接返回产品的内容,但正如您指出的那样,您的 controller 中可能需要额外的逻辑。
如果该属性不能唯一标识产品,我建议使用分页集合响应:
GET /products?someOtherAttribute=foo
返回
200 OK
{
products: [{
url: "/product/5"
}, {
url: "/product/6"
}]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.