Здравствуйте. Знаю, что такие вопросы уже были, но я бы хотел спросить за правильность конкретного варианта.
У меня есть и сущность user, у него есть сущность post, соответственно у него comments и т.д, то есть могут получатся длинные цепочки.
Изначально я строил api по принципу
api/user/{id}/post/{id}/comments/{id} но потом подумалось о том, что это неудобно и криво. Предполагается возможность получения как списка всех, например, комментариев, так и одного конкретного, поэтому грузить их сразу в сущности поста не вариант.
У ВК увидел, что в принципе доступ идёт к каждой сущности отдельно, а параметры передаются в GET
api/users?id={id}&fields={fields}...
Я не сомневаюсь в профессионализме команды ВК, но в интернете видел много всяких вариантов, в том числе и мой (точнее, я позаимствовал).
Стоит задуматься скорее о том как будет использоваться API. Вот представьте - чтобы получить коммент надо знать id пользователя и поста. Нужна ли системе данная сложность? Мне кажется нет.
В REST в принципе делают связанные сущности таким образом только когда они не существуют . как . глобальный список (например у пользователя есть статус и его надо менять отдельно GET users/:id/status, PUT users/:id/status)