@66demon666
По навыкам джун - по факту безработный

Как правильнее построить REST маршрутизацию?

Здравствуйте. Знаю, что такие вопросы уже были, но я бы хотел спросить за правильность конкретного варианта.

У меня есть и сущность user, у него есть сущность post, соответственно у него comments и т.д, то есть могут получатся длинные цепочки.

Изначально я строил api по принципу
api/user/{id}/post/{id}/comments/{id} но потом подумалось о том, что это неудобно и криво. Предполагается возможность получения как списка всех, например, комментариев, так и одного конкретного, поэтому грузить их сразу в сущности поста не вариант.

У ВК увидел, что в принципе доступ идёт к каждой сущности отдельно, а параметры передаются в GET
api/users?id={id}&fields={fields}...

Я не сомневаюсь в профессионализме команды ВК, но в интернете видел много всяких вариантов, в том числе и мой (точнее, я позаимствовал).

Как же всё-таки правильно?
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Стоит задуматься скорее о том как будет использоваться API. Вот представьте - чтобы получить коммент надо знать id пользователя и поста. Нужна ли системе данная сложность? Мне кажется нет.

В REST в принципе делают связанные сущности таким образом только когда они не существуют . как . глобальный список (например у пользователя есть статус и его надо менять отдельно GET users/:id/status, PUT users/:id/status)

А правильного варианта нет, есть подходящий
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы