美文网首页
在SpringBoot 中启用Fastjson转换

在SpringBoot 中启用Fastjson转换

作者: sT丶 | 来源:发表于2017-08-16 16:16 被阅读0次

默认springboot中,当前端传过来数据,转换为JSON时,默认使用的是框架自带的jackson,当我们想要使用alibaba的fastjson时,可以做如下配置。

引入依赖

  1. 先在pom.xml中引入相关依赖
<!--alibaba json-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.36</version>
        </dependency>

配置

两种方式

  1. bean注入HttpMessageConverters:
/*
    * 启用fastjson 的转换
    * */
    @Bean
    public HttpMessageConverters fastJsonHttpMessageConverters() {
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        fastConverter.setFastJsonConfig(fastJsonConfig);
        return new HttpMessageConverters(fastConverter);
    }

2.继承WebMvcConfigurerAdapter,重写configureMessageConverters方法

@Configuration
public class WebMvcConfigurer  extends WebMvcConfigurerAdapter {
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
        //自定义配置...
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
  fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");    // 自定义时间格式
        fastJsonConfig.setSerializerFeatures(
                //配置美观的输出格式
                SerializerFeature.PrettyFormat,
                //配置输出空值
                SerializerFeature.WriteMapNullValue,
                //将字符串类型字段的空值输出为空字符串 ""
                SerializerFeature.WriteNullStringAsEmpty);
        converter.setFastJsonConfig(fastJsonConfig);
        converters.add(converter);
    }
}

不序列化某个字段

比如我们把user表的数据取出来给前台,密码的字段肯定是不能显示的,这样我们可以配置,让某个字段不序列化

@JSONField(serialize=false) 
private String pwd;

这样,就可以启用fasjson作为默认的转换器了

相关文章

网友评论

      本文标题:在SpringBoot 中启用Fastjson转换

      本文链接:https://www.haomeiwen.com/subject/xgwirxtx.html