Java tutorial
/* Java Libraries https://github.com/foilen/java-libraries Copyright (c) 2015-2018 Foilen (http://foilen.com) The MIT License http://opensource.org/licenses/MIT */ package com.foilen.smalltools.restapi.spring; import java.util.Collections; import java.util.List; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.accept.ContentNegotiationManager; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.ContentNegotiatingViewResolver; import org.springframework.web.servlet.view.json.MappingJackson2JsonView; /** * To configure Spring MVC to render using JSON. * * <pre> * Dependencies: * compile 'com.fasterxml.jackson.core:jackson-databind:2.9.1' * compile 'org.springframework:spring-webmvc:4.3.11.RELEASE' * </pre> */ @Configuration @EnableWebMvc public class MvcJsonSpringConfig extends WebMvcConfigurerAdapter { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(mappingJackson2HttpMessageConverter()); } @Bean public ViewResolver contentNegotiatingViewResolver(ContentNegotiationManager contentNegotiationManager) { ContentNegotiatingViewResolver contentNegotiatingViewResolver = new ContentNegotiatingViewResolver(); contentNegotiatingViewResolver.setContentNegotiationManager(contentNegotiationManager); contentNegotiatingViewResolver.setDefaultViews(Collections.singletonList(mappingJackson2JsonView())); return contentNegotiatingViewResolver; } @Bean public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { return new MappingJackson2HttpMessageConverter(); } @Bean public MappingJackson2JsonView mappingJackson2JsonView() { return new MappingJackson2JsonView(); } }