List of usage examples for org.springframework.web.servlet.view.json MappingJackson2JsonView MappingJackson2JsonView
public MappingJackson2JsonView(ObjectMapper objectMapper)
From source file:org.bremersee.common.spring.autoconfigure.WebMvcExceptionResolver.java
@Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {/*w ww.j a v a 2 s . c o m*/ if (ex == null || !isRestController(handler)) { return null; } final Object dto = getExceptionMapper(handler).toDto(ex); if (dto == null) { return null; } ModelAndView mav; String acceptStr = request.getHeader("Accept") == null ? "" : request.getHeader("Accept").toLowerCase(); if (log.isDebugEnabled()) { log.debug("Handler [" + handler + "] got accept header [" + acceptStr + "] from client."); } if (acceptStr.contains("application/xml") || acceptStr.contains("text/xml")) { MarshallingView mv = new MarshallingView(marshaller); mv.setModelKey(DTO_KEY); mav = new ModelAndView(mv, DTO_KEY, dto); response.setContentType(MediaType.APPLICATION_XML_VALUE); } else { final MappingJackson2JsonView mjv = new MappingJackson2JsonView(objectMapper); mav = new ModelAndView(mjv); final Map<String, Object> map = toJsonMap(dto); mav.addAllObjects(map); if (acceptStr.contains("text/plain")) { response.setContentType(MediaType.TEXT_PLAIN_VALUE); } else { response.setContentType(MediaType.APPLICATION_JSON_VALUE); } } Integer statusCode = determineStatusCode(ex); applyStatusCodeIfPossible(request, response, statusCode); return mav; }