springboot配置fastjson并解决乱码问题
来源:互联网 发布:js 鼠标离开div隐藏 编辑:程序博客网 时间:2024/05/22 03:36
- 在pom.xml中添加fastjson依赖
<!-- 添加fastjson依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.15</version> </dependency>
配置fastjson
第一种方法:启动类继承extends WebMvcConfigurerAdapter
覆盖方法configureMessageConverters
@SpringBootApplicationpublic class ApiCoreApp extends WebMvcConfigurerAdapter { @Override @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { //1.需要先定义一个Convert 转换消息的对象; FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); //2.添加fastjson的配置信息,比如:是否要格式化返回就送数据; FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures( SerializerFeature.PrettyFormat ); //3.在Convert中添加配置信息; fastConverter.setFastJsonConfig(fastJsonConfig); //4.将canvert添加到converters当中 converters.add(fastConverter); }
第二种方法:
在App.java启动类中,注入Bean : HttpMessageConverters。
@Bean public HttpMessageConverters fastJsonHttpMessageConverters() { //1.需要先定义一个Convert 转换消息的对象; FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); //2.添加fastjson的配置信息,比如:是否要格式化返回就送数据; FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat); //3.在Convert中添加配置信息; fastConverter.setFastJsonConfig(fastJsonConfig); HttpMessageConverter<?> converter = fastConverter; return new HttpMessageConverters(converter); }
运行后出现中文乱码:(解决)
//处理中文乱码问题 List<MediaType> fastMediaTypes = new ArrayList<>(); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastConverter.setSupportedMediaTypes(fastMediaTypes);
阅读全文