创建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}
答
如果您可能会考虑对象定位哲学,那么用户将执行任务而不是任务拥有用户。
所以你可以考虑使用这个:post: users/{id}/tasks
。
+0
感谢您的回答。 Folowing这应该UserService包含方法'createTask'或我可以使用TaskService?因为在这种情况下,我得到“过载”用户服务+控制器和瘦任务服务+控制器。这让我想也许我做错了什么.. –
谢谢卡西欧,请参阅下面的我的额外问题请 –
@VasyaFortochkin我会有不同的控制器来处理这个。 –
@VasyaFortochkin如果我的回答适合您的需求,请考虑接受它,通过点击我的答案旁边的绿色勾号:) –