Какими должны быть мои конечные точки в соответствии с REST? [...] Как правильно сделать это в соответствии с REST?
Это заблуждение .
В архитектуре REST не применяется дизайн URI (см. Примечания ниже) . Это полностью зависит от вас, чтобы выбрать URI, которые лучше идентифицируют ваши ресурсы.
Синтаксис URI определен в RFC 3986 . Как правило, путь организован в иерархической форме (с сегментами, разделенными /
) и может содержать неиерархические данные в компоненте запроса (начиная с ?
).
Так что /users/{id}/contacts
, кажется, просто прекрасно идентифицировать набор контактов, принадлежащих определенному пользователю .
Примечание 1: Архитектурный стиль REST описан в главе 5 диссертации Роя Т. Филдинга и определяет набор ограничений, которым должен следовать приложения, которые следуют такой архитектуре. Однако в нем ничего не говорится о том, какими должны быть URI.
Примечание 2: Примеры популярной статьи , написанной Мартином Фаулером, объясняющей модель, определенную Леонардом Ричардсоном предложить структура URI, которая выглядит дружелюбной и легко читаемой.