конечные точки RestController - PullRequest
0 голосов
/ 23 апреля 2020

Я занимаюсь разработкой семестровой работы с использованием Spring-Boot, и я борюсь за restController и его конечные точки. У меня есть контроллеры для пользователей, команд, задач, комментариев и т. Д. c.

Например, контроллер для команд имеет следующие конечные точки: "/teams" - возвращает все команды "/teams/{idTeam}" - возвращает указанные c команды по идентификатору et c ...

По моему мнению, эти конечные точки хороши, но что если мне понадобятся возвратные задачи для конкретной команды c? Должна ли эта конечная точка выглядеть как "/teams/{idTeam}/tasks" в командном контроллере или "/tasks/teams/{idTeam}" в контроллере задач. Есть проблема, которую я не знаю, является ли хорошей практикой, что контроллер для команд возвращает также что-то еще, кроме просто командных объектов ... пример возвращает также задачи в команде или комментарии ...

Кстати. Сущность команды имеет в себе массив задач или комментариев, но я аннотировал массивы с помощью @JsonIgnore, потому что кто-то, кто вызывает / team / {idTeam}, хочет, например, просто название команды, а не все задачи, комментарии, пользователей и т. Д. c возвращенной команды - поэтому ее ненужное скачивание другого количества данных.

1 Ответ

1 голос
/ 23 апреля 2020

Возможны оба варианта. Я бы порекомендовал, потому что задачи - это подразделение команд

/teams/{idTeam}/tasks

В блоге StackOverflow есть хорошая статья: https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/

И это также может помочь http://microformats.org/wiki/rest/urls

...