...
Usar la clase ResponseEntity<T> ( org.springframework.http.ResponseEntity) para envolver la respuesta.
Usar los códigos de estado de HTTP para indicar el resultado de la petición.
...
Spring Boot proporciona varios mecanismos para capturar excepciones (global o localmente) y devolver mensajes de error (estándar o personalizados). Estos mecanismos han ido evolucionando con las diversas versiones del framework y, en algunos casos, pueden llegar a solaparse.
| Info |
|---|
El término "modelo de respuesta" empleado en esta guía significa el formato de JSON (sus campos) devuelto cuando sucede una situación de error. |
| Advertencia |
|---|
La integración con el estándar RFC 7807 Problem con Spring Boot está en desarrollo. Cuando esté terminada dicha integración se modificará el modelo de respuesta estándar para contener los campos del RFC Problem (ver wiki manejo de errores en FundeWeb). Sirva este mensaje como aviso por si se desean realizar diversos modelos de respuesta. Ante cualquier duda póngase en contacto con MNCS. |
A continuación se va a explicar estos mecanismos desde el enfoque de basados en los casos de uso más habituales:
- Quiero devolver de forma rápida y correcta y rápida el código de respuesta adecuado apropiado con el modelo de respuesta estándar.
- Quiero modificar sustituir el modelo de respuesta estándar y crear uno propio global para toda la aplicación.
- Tengo una excepción propia y quiero manejarla rápidamente localmente en mi controlador para no crear más clases (con modelo estándar o con modelo propio).
- Tengo una paquete de excepciones y las quiero manejar todas de forma global a toda la aplicación (con modelo estándar o con modelo propio).
- No quiero un modelo de respuesta global, pero quiero modificar el que genera Spring para excepciones internas no controladas.
- [EXTRA] Si uso Bean Validation para validar los parámetros, ¿cómo afecta?
...