我正在用spring-boot开发半成品,我正在为restController和他的端点而烦恼。我有用户、团队、任务、评论等控制器。
例如,团队的控制器有这些端点。"/teams"
- 返回所有团队"/teams/{idTeam}"
- 通过id等返回特定团队...
在我看来,这些端点都很好,但是如果我需要返回某个特定团队的任务呢?这个端点应该是这样的 "/teams/{idTeam}/tasks"
在团队控制者,或 "/tasks/teams/{idTeam}"
在任务控制器中。有一个问题,我不知道团队的控制器除了返回团队对象之外,还返回其他的东西是否是一个好的做法......比如也返回团队中的任务或评论......。
另外,团队实体本身有任务或评论的数组,但我用@JsonIgnore注释了数组,因为调用 teams{idTeam} 的人只想要团队的名称,而不是返回团队的所有任务、评论、用户等--所以下载另外的数据量是不必要的。
两个选项都是可能的。我建议,因为任务是团队的一个子实体。
/teams/{idTeam}/tasks
StackOverflow博客里有一篇不错的文章。https:/stackoverflow.blog20200302best-practices-for-rest-api-design。