Considere un usuario (/ users/{id}) que tiene un nombre y varias ubicaciones (/ users/{id}/locations).En los servicios web RESTful, ¿los DTO de respuesta deben contener sus DTO secundarios?
Cuando solicito un usuario (/ usuario/{id}), ¿ese usuario debe estar representado por completo (su identificación, nombre y ubicación) o las ubicaciones solo deben devolverse en una solicitud por separado? Por ejemplo, qué JSON DTO esperaría en una solicitud de usuario con id = 123 (/ users/123):
1) {"id": 123, "nombre": "Peter", "ubicaciones": [{"id": 1, "nombre": "Chicago"}, {"id": 2, "nombre": "Nueva York"}]}
2) {"id": 123, "name ":" Peter "," ubicaciones ": [{" id ": 1}, {" id ": 2}]}
3) {" id ": 123," nombre ":" Peter "," ubicaciones ": [1, 2]}
4) { "id": 123, "name":" Peter"}
esto es más subjetiva, empujar y tirar entre el tamaño de los DTO y las solicitudes requeridas en el caso de uso típico? Me inclino a simplemente incluir todos los datos relevantes (1), pero no estoy seguro de que sea mejor que solo requerir que los desarrolladores realicen múltiples llamadas a una API para obtener todos los de los datos que realmente desean.
Cualquier razón para que no debería añadir un parámetro de consulta para encender/apagar lista colecciones de subelementos? Eso no sería diferente a agregar un?format = {json | xhtml} para ajustar el formato de la salida ... – ScottCher
Principalmente por el tiempo de desarrollo; No quiero introducir adiciones inesperadas o innecesarias. Solo quiero hacer las cosas "bien" o al menos de manera razonable y rápida. –