[英]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.