Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Duda] Creo que falta algo en el método 'gestionarError400'

Y es esto:

    @ExceptionHandler(MethodArgumentNotValidException.class)
    public ResponseEntity<List<DatosErrorValidacion>>
    gestionarError400 ...

El generics que acompaña al ResponseEntity.
Aunque el programa se ejecuta sin ningún problema considero que es una buena práctica de programación agregarlo
Pero quiero saber qué opinan...

2 respuestas
solución!

¡Hola Yahadad, espero que estés bien!

Tienes toda la razón al considerar que es una buena práctica de programación especificar el tipo genérico en ResponseEntity. Aunque el código funcionará sin él, incluir el tipo genérico mejora la claridad y la legibilidad del código, además de ayudar a evitar posibles errores en el futuro.

En tu caso, el método gestionarError400 está devolviendo una lista de DatosErrorValidacion, por lo que sería ideal especificarlo de la siguiente manera:

@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<List<DatosErrorValidacion>> gestionarError400(MethodArgumentNotValidException ex) {
    var errores = ex.getFieldErrors();
    return ResponseEntity.badRequest().body(errores.stream().map(DatosErrorValidacion::new).toList());
}

Al hacer esto, dejas claro que el cuerpo de la respuesta es una lista de objetos DatosErrorValidacion, lo cual puede ser muy útil para otros desarrolladores que lean tu código o incluso para ti mismo en el futuro.

Espero haber ayudado y buenos estudios!

Gracias por aclarar mi duda, ingeniera Brenda.