【问题标题】:How to design best REST endpoint for hierarchical data如何为分层数据设计最佳 REST 端点
【发布时间】:2016-08-15 13:42:58
【问题描述】:

考虑一下我的数据库中有以下表格

项目

Project_id (int) PK

名称(字符串)

描述(字符串)

Project_employee

Project_employee_id (int) PK

Emp_id (int) FK

Project_id (int) FK

project_join_date(日期)

我想满足以下要求的其余端点

  1. 获取给定项目的所有 project_employees
  2. 获取给定 project_employee_id 的 project_employee
  3. 添加 project_employee
  4. 更新 project_employee
  5. 删除 project_employee

我为上述要求设计的 Rest 端点是

www.myapp.com/app/v1.0/porjects/{id}/project-employees/{id} GET PUT POST DELETE

"/projects/{id}" 仅对获取给定项目的所有员工的第一个要求有用。对于所有其他需求项目/{id} 根本没有用。

所以我想知道满足上述要求的正确 REST 端点是什么。

我可以获得任何 REST API 最佳实践文档吗?还需要用于设计 REST API 的文档/书籍。

【问题讨论】:

    标签: rest


    【解决方案1】:

    我将创建一个单独的 /employees 资源,这样您就可以管理员工而无需指定项目 ID,甚至无需指定当前未分配到项目的员工。

    我还是保留/projects/:id/employees,这样你就可以管理项目和员工之间的关系,如下:

    • 获取给定项目的所有 project_employees

      GET /projects/:id/employees

    • 获取给定 project_employee_id 的 project_employee

      GET /employees/:id

    • 添加 project_employee

      POST /projects/:id/employees

    • 更新 project_employee

      PUT /employees/:id

    • 删除 project_employee

      DELETE /employees/:id

    【讨论】:

      猜你喜欢
      • 2017-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      相关资源
      最近更新 更多