@Test public void prettyPrintWithSse() throws Exception { MockHttpOutputMessage outputMessage = new MockHttpOutputMessage(); outputMessage.getHeaders().setContentType(MediaType.TEXT_EVENT_STREAM); PrettyPrintBean bean = new PrettyPrintBean(); bean.setName("Jason"); this.converter.setPrettyPrint(true); this.converter.writeInternal(bean, null, outputMessage); String result = outputMessage.getBodyAsString(StandardCharsets.UTF_8); assertEquals("{\ndata: \"name\" : \"Jason\"\ndata:}", result); }
@Test public void prettyPrint() throws Exception { MockHttpOutputMessage outputMessage = new MockHttpOutputMessage(); PrettyPrintBean bean = new PrettyPrintBean(); bean.setName("Jason"); this.converter.setPrettyPrint(true); this.converter.writeInternal(bean, null, outputMessage); String result = outputMessage.getBodyAsString(StandardCharsets.UTF_8); assertEquals("{" + NEWLINE_SYSTEM_PROPERTY + " \"name\" : \"Jason\"" + NEWLINE_SYSTEM_PROPERTY + "}", result); }
/** * Enable pretty printing of returned JSON */ @Override protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) { for (HttpMessageConverter<?> converter : converters) { if (converter instanceof MappingJackson2HttpMessageConverter) { MappingJackson2HttpMessageConverter jacksonConverter = (MappingJackson2HttpMessageConverter) converter; jacksonConverter.setPrettyPrint(true); } } }
@Configuration public class CustomWebMvcConfiguration extends WebMvcConfigurationSupport { @Override protected void extendMessageConverters( List<HttpMessageConverter<?>> converters ) { for ( HttpMessageConverter<?> converter : converters ) { if ( converter instanceof MappingJackson2HttpMessageConverter ) { MappingJackson2HttpMessageConverter jacksonConverter = (MappingJackson2HttpMessageConverter) converter; jacksonConverter.setPrettyPrint( true ); } } } }
/** * Render model and view. * * @param model the model * @param response the response */ @SneakyThrows public static void render(final Object model, final HttpServletResponse response) { val jsonConverter = new MappingJackson2HttpMessageConverter(); jsonConverter.setPrettyPrint(true); val jsonMimeType = MediaType.APPLICATION_JSON; jsonConverter.write(model, jsonMimeType, new ServletServerHttpResponse(response)); }
@Bean public HttpMessageConverter jacksonMessageConverter() { MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); converter.setPrefixJson(false); converter.setPrettyPrint(true); converter.setObjectMapper(objectMapper()); return converter; }
/** * Enable pretty printing of returned JSON */ @Override protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) { for (HttpMessageConverter<?> converter : converters) { if (converter instanceof MappingJackson2HttpMessageConverter) { MappingJackson2HttpMessageConverter jacksonConverter = (MappingJackson2HttpMessageConverter) converter; jacksonConverter.setPrettyPrint(true); } } converters.add(0, new NewznabAndTorznabResponseNamespaceFixer(marshaller())); }
/** * Render model and view. * * @param model the model * @param response the response */ public static void render(final Object model, final HttpServletResponse response) { try { final MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter(); jsonConverter.setPrettyPrint(true); final MediaType jsonMimeType = MediaType.APPLICATION_JSON; jsonConverter.write(model, jsonMimeType, new ServletServerHttpResponse(response)); } catch (final Exception e) { throw new RuntimeException(e); } }
@Bean public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter(){ MappingJackson2HttpMessageConverter mj2mc = new MappingJackson2HttpMessageConverter(); mj2mc.setDefaultCharset(Charset.forName("utf-8")); mj2mc.setPrettyPrint(false); mj2mc.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON_UTF8)); ObjectMapper om = this.objectMapper(); mj2mc.setObjectMapper(om); return mj2mc; } }
@Configuration @EnableWebMvc @EnableAsync @ComponentScan(basePackages = { "com.mypackage.controller" }) // package referring to controllers @PropertySource("classpath:imagesConfig.properties") public class WebConfiguration extends WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters){ List<MediaType> supportedMediaTypes=new ArrayList<>(); supportedMediaTypes.add(MediaType.APPLICATION_JSON); supportedMediaTypes.add(MediaType.TEXT_PLAIN); MappingJackson2HttpMessageConverter converter=new MappingJackson2HttpMessageConverter(); converter.setObjectMapper(new HibernateAwareObjectMapper()); converter.setPrettyPrint(true); converter.setSupportedMediaTypes(supportedMediaTypes); converters.add(converter); super.configureMessageConverters(converters); } }
@Override public void write(Object o, MediaType contentType, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { NewznabResponse newznabResponse = (NewznabResponse) o; if ("json".equalsIgnoreCase(((NewznabResponse) o).getSearchType())) { jacksonConverter.setPrettyPrint(true); jacksonConverter.write(o, MediaType.APPLICATION_JSON_UTF8, outputMessage); } else { outputMessage.getHeaders().setContentType(MediaType.APPLICATION_XML); ByteArrayOutputStream bos = new ByteArrayOutputStream(); marshaller.marshal(newznabResponse, new StreamResult(bos)); String result; if ("torznab".equalsIgnoreCase(newznabResponse.getSearchType())) { result = bos.toString().replace("xmlns:newznab=\"http://www.newznab.com/DTD/2010/feeds/attributes/\"", ""); } else { result = bos.toString().replace("xmlns:torznab=\"http://torznab.com/schemas/2015/feed\"", ""); } outputMessage.getBody().write(result.getBytes("UTF-8")); } }
private MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); converter.setPrettyPrint(prettyPrintingBasedOnProfile()); converter.getObjectMapper().setVisibility(PropertyAccessor.FIELD, Visibility.ANY); configureJsonJacksonFeatures(converter); return converter; }
@Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { /*FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(); List<MediaType> fastJsonHttpMessageConverter_supportedMediaTypes = new ArrayList<>(); fastJsonHttpMessageConverter_supportedMediaTypes.add(MediaType.valueOf("application/json;charset=UTF-8")); fastJsonHttpMessageConverter.setSupportedMediaTypes(fastJsonHttpMessageConverter_supportedMediaTypes);*/ StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(Charset.forName("UTF-8")); List<MediaType> stringHttpMessageConverter_supportedMediaTypes = new ArrayList<>(); stringHttpMessageConverter_supportedMediaTypes.add(new MediaType("text","plain", Charset.forName("UTF-8"))); stringHttpMessageConverter_supportedMediaTypes.add(new MediaType("*","*",Charset.forName("UTF-8"))); stringHttpMessageConverter.setSupportedMediaTypes(stringHttpMessageConverter_supportedMediaTypes); MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); List<MediaType> mappingJackson2HttpMessageConverter_supportedMediaTypes = new ArrayList<>(); mappingJackson2HttpMessageConverter_supportedMediaTypes.add(MediaType.valueOf("application/json;charset=UTF-8")); mappingJackson2HttpMessageConverter.setSupportedMediaTypes(mappingJackson2HttpMessageConverter_supportedMediaTypes); mappingJackson2HttpMessageConverter.setPrettyPrint(false); JsonMapper jsonMapper = new JsonMapper(); jsonMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); mappingJackson2HttpMessageConverter.setObjectMapper(jsonMapper); converters.add(fastJsonHttpMessageConverter()); converters.add(stringHttpMessageConverter); converters.add(mappingJackson2HttpMessageConverter); }
@EnableWebMvc @Configuration public class CustomConfig extends WebMvcConfigurerAdapter { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); mappingJackson2HttpMessageConverter.setPrettyPrint(true); mappingJackson2HttpMessageConverter.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_EMPTY); converters.add(mappingJackson2HttpMessageConverter); } @Override public void configureContentNegotiation(ContentNegotiationConfigurer configurer) { configurer.defaultContentType(MediaType.APPLICATION_JSON); configurer.favorPathExtension(false); configurer.favorParameter(true); configurer.ignoreAcceptHeader(true); configurer.useJaf(false); configurer.parameterName("mediaType"); configurer.mediaType("json", MediaType.APPLICATION_JSON); } }