Para este proyecto se ocupo la libreria ffss-core-chassis para hacer uso de los modelos :
Modelos de error (DTOs)
...
Excepciones personalizadas
Controller advice y handlers
...
Por lo cual los componentes mencionados a continuación que se mencionaran en esta documentación se encontrarán en dicha librería, principalmente en los módulos common y starter.
Modelo de error
Cuando se propaguen excepciones por REST o gRPC estas se devolverán bajo el siguiente modelo:
...
A continuación se describe cada campo:
message
Mensaje personalizado de la excepción.
code
(Obligatorio) - Nombre del Enum que represente el error. Este enum se debe de agregar en la clase com.femsa.digital.ffss.common.domain.FFSSErrorCode que se encuentra en ffss-core-chassis, módulo fss-common
description
(Obligatorio) - Valor del Enum que represente el error. Este enum es el mismo descrito en el campo anterior de code.
message
Mensaje personalizado de la excepción.
args
args
- Arreglo de errores. Cada error tiene la propiedad arg y value (llave y valor) respectivamente.
status
(Obligatorio) - HttpStatus el cual debe estar formado con el valor (primeros 3 caracteres) y el nombre
¿Como propagar una excepción?
...