【问题标题】:Different endpoints to get a resource in a API REST在 API REST 中获取资源的不同端点
【发布时间】:2020-06-10 14:40:13
【问题描述】:

我有一个带有 GET 端点的 REST API,用于根据 id 检索产品。现在我需要根据另一个属性检索产品,我不知道我是否必须使用相同的端点并在那里处理多个案例或编写不同的端点,每个案例一个。

谢谢!

【问题讨论】:

  • 您好 Mauricio,只是想知道您是否能够解决您的问题。如果我的回答有帮助,请点赞和/或将其标记为已接受。 =)

标签: rest


【解决方案1】:

假设你有

GET /product/{id}

并且您希望能够通过其他属性查找产品。如果该属性唯一标识了您可以执行的产品:

GET /product?someOtherAttribute=foo

返回

302 FOUND
Location: /product/5

如果您想避免往返,您可以直接返回产品的内容,但正如您所指出的,这可能需要控制器中的额外逻辑。

如果该属性不能唯一标识产品,我建议使用分页集合响应:

GET /products?someOtherAttribute=foo

返回

200 OK
{
   products: [{
       url: "/product/5"
   }, {
       url: "/product/6"
   }]
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多