繁体   English   中英

RESTful API设计:建模关系

[英]RESTful API Design : modeling relationships

我有两个模型,员工和任务。 empid和taskid是两个模型的主键我想设计一个RESTful API来建模这种关系。

我想到了以下设计:

hostname/task GET : get all tasks
hostname/task POST : post a tasks
hostname/task/:taskid GET : get a certain task
hostname/task/:taskid DELETE :  delete a certain task
hostname/task/:taskid PATCH :  update a certain task

但我的问题是每个任务都绑定到一个员工ID,我想要表示它。

我应该这样做

hostname/task/:empid GET : all tasks for a certain ID
hostname/task/:empid/taskid DELETE/PATCH/GET : delete/update or retrieve for a certain employees task

我没有得到如何模拟这种行为。

取决于查询。 如果您想明确关系,您可以(并且应该,IMO)具有以下端点:

GET    /employees/:empid/tasks
DELETE /employees/:empid/tasks/:taskid

但是,如果您需要能够在不考虑员工的情况下查询所有任务,那么作为API消费者,我希望使用与员工任务端点相同的方法,即

GET    /tasks
DELETE /tasks/:taskid

您可以编写一些授权逻辑来确定使用者是否具有在“全局”级别删除任务的适当权限,而无需指定员工。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM