我有这样的模型关系:用户,任务,每个用户都可以创建自己的任务,并可以看到所有任务。显然,我的 TaskService 包含方法 getAllTasks(), getSortedTasks(字符串值)等。 我很困惑,我应该在 TaskService 中使用 createTask(任务任务), updateTask(lond id,任务任务)方法在 UserService 中,因为我告诉我应该使用REST API:
,而
post users/{id}/tasks
大于
post /tasks
因为" 任务属于特定的用户"。因此,我无法在每个实体的单独服务,api 和常见的服务之间进行选择,而用户是关系所有者的。
答案 0 :(得分:0)
您应该实现端点以在任务资源中创建任务。
两者都有可能:
POST your_root.com/api/{userId}/tasks / ---->创建任务并从uri获取创建者的值。
但你也可以这样:
发布你的__root.com/api/tasks / --->在这种情况下,您必须通过JSON或XML来告知服务器谁创建了该任务。身体看起来像这样i.E。:
a=1
s=0
while a<6:
s+=a
a+=1
print (a)
最后一个变体和我的首选:
发布your_root.com/api/{userId}/tasks / 并且作者再次出现在身体中:
{
"author": "user A",
"assingee": null,
"headline": "Login Page for my app",
"text":"Build fancy login page"
}
最后一个变体的优点是你可以检查uri中的userId是否等于body的authorId。因此,您可以避免具有特定ID的此请求是偶然发生的。
希望有所帮助。