¡Hola Yahadad, espero que estés bien!
Gracias por compartir tu duda. Entiendo que estás sugiriendo que el método registrar
debería devolver un ResponseEntity<DatosDetalleMedico>
para incluir la información del nuevo médico registrado. Tienes razón en que es una buena práctica devolver el objeto recién creado en el cuerpo de la respuesta cuando se utiliza el código HTTP 201.
En el contexto del curso, parece que el método registrar
debería efectivamente devolver un ResponseEntity
que incluya tanto el código 201 como el objeto DatosDetalleMedico
en el cuerpo. Esto no solo confirma que el recurso fue creado exitosamente, sino que también proporciona al cliente los detalles del nuevo recurso.
Aquí tienes un ejemplo de cómo podría verse el método completo:
@PostMapping
public ResponseEntity<DatosDetalleMedico> registrar(@RequestBody @Valid DatosRegistroMedico datos, UriComponentsBuilder uriComponentsBuilder) {
var medico = new Medico(datos);
repository.save(medico);
var uri = uriComponentsBuilder.path("/medicos/{id}").buildAndExpand(medico.getId()).toUri();
return ResponseEntity.created(uri).body(new DatosDetalleMedico(medico));
}
Este método no solo guarda el nuevo médico, sino que también construye una URI para el recurso recién creado y devuelve un objeto DatosDetalleMedico
en el cuerpo de la respuesta.
Espero que esta explicación te sea útil y que puedas implementar esta mejora en tu proyecto. ¡Bons estudos!