Class BroadleafSpringRestExceptionMapper
java.lang.Object
com.broadleafcommerce.rest.api.exception.BroadleafSpringRestExceptionMapper
Handles exceptions that can occur in the Broadleaf REST APIs. Specifically, this will serialize exceptions into consumable JSON or XML so that clients that utilize the API don't have to treat exception responses as special cases.
- Author:
- Chris Kittrell (ckittrell), Phillip Verheyden (phillipuniverse)
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected Stringprotected org.springframework.context.MessageSource -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionhandleBroadleafWebServicesException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, BroadleafWebServicesException ex) handleException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) handleHttpMediaTypeNotSupportedException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.springframework.web.HttpMediaTypeNotSupportedException ex) handleHttpMessageNotReadableException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) handleInvalidEnumerationValueException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) handleMethodArgumentNotValidException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) handleMethodArgumentResolutionException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) handleMethodArgumentTypeMismatchException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) handleMissingServletRequestParameterException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) handleNoHandlerFoundException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.springframework.web.servlet.NoHandlerFoundException ex) handleRequestMethodNotSupportedException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.springframework.web.HttpRequestMethodNotSupportedException ex) protected Stringprotected intresolveResponseStatusCode(Throwable t, ErrorWrapper error) voidsetMessageKeyPrefix(String prefix) This key is the prefix that will be stripped off of all message keys that are returned to a client.voidsetMessageSource(org.springframework.context.MessageSource messageSource)
-
Field Details
-
messageKeyPrefix
-
messageSource
protected org.springframework.context.MessageSource messageSource -
context
@Autowired protected org.springframework.context.ApplicationContext context
-
-
Constructor Details
-
BroadleafSpringRestExceptionMapper
public BroadleafSpringRestExceptionMapper()
-
-
Method Details
-
handleBroadleafWebServicesException
@ExceptionHandler(BroadleafWebServicesException.class) @ResponseBody public ErrorWrapper handleBroadleafWebServicesException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, BroadleafWebServicesException ex) -
handleNoHandlerFoundException
@ExceptionHandler(org.springframework.web.servlet.NoHandlerFoundException.class) @ResponseBody public ErrorWrapper handleNoHandlerFoundException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.springframework.web.servlet.NoHandlerFoundException ex) -
handleHttpMediaTypeNotSupportedException
@ExceptionHandler(org.springframework.web.HttpMediaTypeNotSupportedException.class) @ResponseBody public ErrorWrapper handleHttpMediaTypeNotSupportedException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.springframework.web.HttpMediaTypeNotSupportedException ex) -
handleRequestMethodNotSupportedException
@ExceptionHandler(org.springframework.web.HttpRequestMethodNotSupportedException.class) @ResponseBody public ErrorWrapper handleRequestMethodNotSupportedException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.springframework.web.HttpRequestMethodNotSupportedException ex) -
handleMissingServletRequestParameterException
@ExceptionHandler(org.springframework.web.bind.MissingServletRequestParameterException.class) @ResponseBody public ErrorWrapper handleMissingServletRequestParameterException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) -
handleMethodArgumentTypeMismatchException
@ExceptionHandler(org.springframework.web.method.annotation.MethodArgumentTypeMismatchException.class) @ResponseBody public ErrorWrapper handleMethodArgumentTypeMismatchException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) -
handleHttpMessageNotReadableException
@ExceptionHandler(org.springframework.http.converter.HttpMessageNotReadableException.class) @ResponseBody public ErrorWrapper handleHttpMessageNotReadableException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) -
handleMethodArgumentNotValidException
@ExceptionHandler(org.springframework.web.bind.MethodArgumentNotValidException.class) @ResponseBody public ErrorWrapper handleMethodArgumentNotValidException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) -
handleMethodArgumentResolutionException
@ExceptionHandler(org.springframework.messaging.handler.invocation.MethodArgumentResolutionException.class) @ResponseBody public ErrorWrapper handleMethodArgumentResolutionException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) -
handleInvalidEnumerationValueException
@ExceptionHandler(InvalidEnumerationValueException.class) @ResponseBody public ErrorWrapper handleInvalidEnumerationValueException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) -
handleException
@ExceptionHandler(java.lang.Exception.class) @ResponseBody public ErrorWrapper handleException(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Exception ex) -
setMessageSource
public void setMessageSource(org.springframework.context.MessageSource messageSource) -
setMessageKeyPrefix
This key is the prefix that will be stripped off of all message keys that are returned to a client. The default is "org.broadleafcommerce.core.web.api.BroadleafWebServicesException.". So, if a message key contained in a BroadleafWebServicesException is org.broadleafcommerce.core.web.api.BroadleafWebServicesException.unknownError, just "unknownError" will be returned to the client. This behavior can be changed by overriding theresolveClientMessageKeymethod.- Parameters:
prefix-
-
resolveResponseStatusCode
-
resolveClientMessageKey
-