创建REST API资源

创建REST API资源

问题描述:

我正在开发REST API。有'用户'和'任务'资源,每个用户都可以创建'UserTask'。那么,什么样的URL符合REST API标准和惯例?最后的方法是更合乎逻辑的?创建REST API资源

post: users/{id}/tasks 

post: tasks/users/{id} 

是否有意义兼得?

我已经阅读了许多关于它的主题,但在这个特殊情况下没有找到任何有用的东西。

如果任务属于特定用户,我会去:

POST /users/{user-id}/tasks 

以获取特定任务的表示,你可以使用:

GET /users/{user-id}/tasks/{task-id} 
+0

谢谢卡西欧,请参阅下面的我的额外问题请 –

+0

@VasyaFortochkin我会有不同的控制器来处理这个。 –

+0

@VasyaFortochkin如果我的回答适合您的需求,请考虑接受它,通过点击我的答案旁边的绿色勾号:) –

如果您可能会考虑对象定位哲学,那么用户将执行任务而不是任务拥有用户。

所以你可以考虑使用这个:post: users/{id}/tasks

+0

感谢您的回答。 Folowing这应该UserService包含方法'createTask'或我可以使用TaskService?因为在这种情况下,我得到“过载”用户服务+控制器和瘦任务服务+控制器。这让我想也许我做错了什么.. –