Spring Boot 配置消息转换器

消息转换器

配合注解,实现接口返回 JSON 数据
Spring MVC中使用消息转换器HttpMessageConverter对JSON的转换提供了很好的支持

在Spring Boot中更进一步,对相关配置做了更进一步的简化,添加 Web 依赖 spring-boot-start-web 后,这个依赖中默认加入了jackson-databind作为JSON处理器,此时不需要添加额外的JSON处理器就能返回一段JSON了

com.fasterxml.jackson.annotation.JsonFormat

com.fasterxml.jackson.annotation.JsonFormat

package cn.yto.server.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.util.List;

/**
 * <p>
 * 实现 WebMvcConfigurer 接口,自定义 Spring MVC 配置<br>
 * 1、添加拦截器<br>
 * 2、配置消息转换器 MappingJackson2HttpMessageConverter
 * </p>
 *
 * @author yanyg
 * @date 2021/9/10 11:17
 */
@Configuration
public class WebConfigurer implements WebMvcConfigurer {

    @Autowired
    private AppLoginInterceptor appLoginInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // 登录拦截器
        registry.addInterceptor(appLoginInterceptor).addPathPatterns("/getLoginUser");
    }

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(0, new MappingJackson2HttpMessageConverter());
    }


}