Atoti Market Risk allows you to display custom error messages in the UI.
To do this, return a response type in the structure of a ProblemDetail object.
Steps
Add a method annotated with @ExceptionHandler in a class annotated with @RestControllerAdvice or @ControllerAdvice. The @ExceptionHandler annotation should contain the classes of exceptions you’d like to handle.
Make that method return a ProblemDetail object
Throw your desired exception from within the application. Note that most common exceptions are already handled in GlobalExceptionHandlerController.
How it works
For an example of how we do this on the server side in Atoti Market Risk see GlobalExceptionHandlerController, which looks as follows:
This simple class is annotated with @RestControllerAdvice, meaning it will catch exceptions thrown from REST methods. In reality, it inherits from the global
exception handler @ControllerAdvice, which handles exceptions thrown from any method.
The single method in GlobalExceptionHandlerController catches the generic MRServiceException using the @ExceptionHandler annotation and returns a ProblemDetail object, which our UI will parse appropriately.
The ProblemDetail object accepts a map of variables which may hold custom fields of interest. Note that the @ExceptionHandler annotation accepts multiple
classes of exception for a single method.