【问题标题】:RESTful endpoints for returning same model based on different fields?用于基于不同字段返回相同模型的 RESTful 端点?
【发布时间】:2021-03-16 06:59:47
【问题描述】:

在识别使用不同字段/参数获取相同模型/实体的不同 GET 端点时,建议遵循什么约定?

例如,有一个Student 实体,我希望为其公开不同的 GET 端点。假设第一个 GET 端点是一个 get-by-id 端点,它根据提供的 ID 获取 Student。另一个端点可能涉及基于email 获取Student,而另一个端点可能是通过phone 获取Student

我有几种可能的方法来设计他们的端点

  1. 使用单独的端点/students/get-by-id/{id}/students/get-by-email/{email}/students/get-by-phone/{phone}
  2. 使用单个端点/students 并接受/students?phone=123 等请求参数,然后在后端解析必须使用哪个方法进行提取。

推荐的方法是什么?

【问题讨论】:

    标签: api rest url endpoint restful-url


    【解决方案1】:

    我会建议选项 2,因为最好保持休息端点干净和简单,并在代码中隐藏复杂性。另外,您不知道将来会出现什么其他要求,例如添加需要新的休息路径的新查询字段。恕我直言,更改休息端点类似于更改作为生产者和消费者之间的合同的接口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      • 2015-07-09
      • 2011-12-05
      • 2011-05-21
      • 1970-01-01
      相关资源
      最近更新 更多