springboot2.x调用方实体参数中存在Integer=0或者Boolean=false参数,接收方接受参数为null

使用spirngboot2.1.6版本,各个中心通过feign调用,发现调用方实体参数中存在Integer=0或者Boolean=false参数是,接收方通过@RequestBody注解接受参数的时候,参数都事null。

使用postman把请求方的参数复制raw模块到调用接收方,发现接收方参数能正常获取到,不会出现null。

发现springboot2X版本默认使用的Jsonson2工具,通过在SpringBoot的main方法启动类注入FastJson工具类,解决此问题。

@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
    //创建FastJson信息转换对象
    FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
    //创建FastJson对象并设定序列化规则
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
    fastJsonHttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON_UTF8));
    //规则赋予转换对象`
    fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
    return new HttpMessageConverters(fastJsonHttpMessageConverter, new StringHttpMessageConverter(Charset.forName("UTF-8")));
}

你可能感兴趣的:(java,java)