List of usage examples for org.springframework.web.bind MissingServletRequestParameterException getParameterType
public final String getParameterType()
From source file:org.broadleafcommerce.core.web.api.BroadleafSpringRestExceptionMapper.java
@ExceptionHandler(MissingServletRequestParameterException.class) public @ResponseBody ErrorWrapper handleMissingServletRequestParameterException(HttpServletRequest request, HttpServletResponse response, Exception ex) { ErrorWrapper errorWrapper = (ErrorWrapper) context.getBean(ErrorWrapper.class.getName()); Locale locale = null;/*from w ww . ja v a 2 s . c om*/ String parameterType = null; String parameterName = null; BroadleafRequestContext requestContext = BroadleafRequestContext.getBroadleafRequestContext(); if (requestContext != null) { locale = requestContext.getJavaLocale(); } if (ex instanceof MissingServletRequestParameterException) { MissingServletRequestParameterException castedException = (MissingServletRequestParameterException) ex; parameterType = castedException.getParameterType(); parameterName = castedException.getParameterName(); } LOG.error("An error occured invoking a REST service", ex); if (locale == null) { locale = Locale.getDefault(); } if (parameterType == null) { parameterType = "String"; } if (parameterName == null) { parameterName = "[unknown name]"; } errorWrapper.setHttpStatusCode(HttpStatus.SC_BAD_REQUEST); response.setStatus(resolveResponseStatusCode(ex, errorWrapper)); ErrorMessageWrapper errorMessageWrapper = (ErrorMessageWrapper) context .getBean(ErrorMessageWrapper.class.getName()); errorMessageWrapper .setMessageKey(resolveClientMessageKey(BroadleafWebServicesException.QUERY_PARAMETER_NOT_PRESENT)); errorMessageWrapper .setMessage(messageSource.getMessage(BroadleafWebServicesException.QUERY_PARAMETER_NOT_PRESENT, new String[] { parameterType, parameterName }, BroadleafWebServicesException.QUERY_PARAMETER_NOT_PRESENT, locale)); errorWrapper.getMessages().add(errorMessageWrapper); return errorWrapper; }