服务中的实体关系

时间:2017-02-16 16:06:47

标签: oop jpa design-patterns entity spring-rest

我有这样的模型关系:用户任务,每个用户都可以创建自己的任务,并可以看到所有任务。显然,我的 TaskService 包含方法 getAllTask​​s() getSortedTasks(字符串值)等。 我很困惑,我应该在 TaskService 中使用 createTask(任务任务) updateTask(lond id,任务任务)方法在 UserService 中,因为我告诉我应该使用REST API:

,而

post users/{id}/tasks

大于

post /tasks

因为" 任务属于特定的用户"。因此,我无法在每个实体的单独服务,api 和常见的服务之间进行选择,而用户是关系所有者的

1 个答案:

答案 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的此请求是偶然发生的。

希望有所帮助。