我有这样的模型关系: user ,任务,每个用户都可以创建自己的任务,并且可以看到 asl /strong>任务。因此,显然我将使用方法 taskservice getAllTasks(), getsortedTasks(String value)等。我很困惑在哪里应该有 createTask(任务任务), UPDATETASK(LOND ID,任务任务)方法 - in taskservice 或in uservice ,因为有人告诉我我应该有REST API看起来像:
而不是
post users/{id}/tasks
比
post /tasks
因为" A 任务属于特定的用户"。因此,我无法在每个实体和常见服务的单独服务,API 之间进行选择,api whre 用户是关系所有者。
您应该在任务资源中实现创建任务的端点。
两者都是可能的:
发布your_root.com/api/{userid }/tasks/ ---->创建任务并从URI中获取创建者的价值。
但是您也可以这样做:
发布your_root.com/api/tasks/ --->在这种情况下,您必须由创建任务的JSON或XML告诉服务器。身体看起来像这样:
{
"author": "user A",
"assingee": null,
"headline": "Login Page for my app",
"text":"Build fancy login page"
}
最后一个变体和我的首选:
发布your_root.com/api/{userid }/tasks/再次在体内的作者:
{
"authorId":"12"
"author": "user A",
"assingee": null,
"headline": "Login Page for my app",
"text":"Build fancy login page"
}
最后一个变体的优点是您可以检查URI中的用户ID是否等于身体的作用。因此,您可以避免意外提出此请求。
希望会有所帮助。