Рассмотрим пользователя (/users /{id} )с именем и несколькими местоположениями (/users/{id}/locations ).
Когда я запрашиваю пользователя (/user/{id} ), должен ли этот пользователь быть полностью представлен --его идентификатором, именем и местоположением --или местоположения должны возвращаться только по отдельному запросу? Например, какой JSON DTO вы ожидаете от запроса пользователя с id=123 (/users/123):
1 ){ "id" :123, "name" :"Peter", "locations" :[{"id" :1, "name" :"Chicago"}, {"id" :2, "name" :"New York"}] }
2 ){ "id" :123, "имя" :"Питер", "местоположения" :[{"id" :1}, {"id" :2}] }
3 ){ "id" :123, "имя" :"Питер", "местоположения" :[1, 2] }
4 ){ "id" :123, "name" :"Peter" }
Является ли это более субъективным, толкая и вытягивая между размером DTO и запросами, требуемыми в типичном случае использования -? Я склонен просто включить все соответствующие данные (1 ),но я не уверен, что это лучше, чем просто требовать от разработчиков многократного обращения к API для получения всех данных, которые им действительно нужны.