В веб-службах RESTful должны ли DTO ответа содержать свои дочерние DTO?

Рассмотрим пользователя (/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 для получения всех данных, которые им действительно нужны.

6
задан M. Herold 1 May 2012 в 20:45
поделиться