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