IDEA 使用fastjson解决乱码 swagger访问接口正常,直接访问浏览器接口返回乱码

简介: IDEA 使用fastjson解决乱码 swagger访问接口正常,直接访问浏览器接口返回乱码

目录


原因:

解决代码:


原因:

最近遇到的问题,重新搭建java项目的时候没有发现这个问题,同事使用的时候发现的问题,现在记录一下解决的过程,

使用fastjson解决乱码

解决代码:

@Configuration

public class FastJsonConfig {

   @Bean

   public HttpMessageConverters fastJsonHttpMessageConverters() {

       //用字段名作为序列化和反序列化的key值

       TypeUtils.compatibleWithFieldName = true;

       //指定时区

       TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));

       //替换springboot的json框架为fastjson

       FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();

       com.alibaba.fastjson.support.config.FastJsonConfig fastJsonConfig = new com.alibaba.fastjson.support.config.FastJsonConfig();

       // 空值特别处理

       // WriteNullListAsEmpty 将Collection类型字段的字段空值输出为[]

       // WriteNullStringAsEmpty 将字符串类型字段的空值输出为空字符串 ""

       // WriteNullNumberAsZero 将数值类型字段的空值输出为0

       // WriteNullBooleanAsFalse 将Boolean类型字段的空值输出为false

       fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat, SerializerFeature.WriteNullListAsEmpty,

               SerializerFeature.WriteNullStringAsEmpty,SerializerFeature.WriteNullNumberAsZero,SerializerFeature.WriteNullBooleanAsFalse);

       List<MediaType> fastMediaTypes = new ArrayList<>();

       fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);

       fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);

       fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);

       HttpMessageConverter<?> converter = fastJsonHttpMessageConverter;

       return new HttpMessageConverters(converter);

   }

}

相关文章
|
6月前
|
API
支付系统38-----支付宝支付---统一收单线下交易查询 第一步下单------》发起支付请求,登录,确认支付,查单接口开发,swagger接口全部呈现,
支付系统38-----支付宝支付---统一收单线下交易查询 第一步下单------》发起支付请求,登录,确认支付,查单接口开发,swagger接口全部呈现,
|
2月前
|
Web App开发 API Windows
取接口访问者信息[IP,浏览器,操作系统]免费API接口教程
此API用于获取访问者的IP地址、浏览器和操作系统信息,支持70多种浏览器和操作系统。通过POST或GET请求至`https://cn.apihz.cn/api/ip/getapi.php`,需提供用户ID和KEY。返回结果包括状态码、消息、IP、浏览器和操作系统信息。示例:{&quot;code&quot;:200,&quot;ip&quot;:&quot;175.154.88.178&quot;,&quot;browser&quot;:&quot;Chrome&quot;,&quot;os&quot;:&quot;Windows 10&quot;}。详情见官网文档。
|
4月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
171 2
|
3月前
|
IDE 开发工具
idea控制台出现乱码的解决方案
本文提供了解决IntelliJ IDEA控制台乱码问题的多种方法,包括设置项目编码、控制台编码、修改启动配置、修改IDE编码、检查系统环境设置以及更新IDE版本。
555 0
|
5月前
|
Web App开发
成功解决Chrome浏览器 控制台下看不到接口信息的问题
这篇文章提供了解决Chrome浏览器控制台不显示接口信息问题的方法,包括检查过滤设置和确保“保留日志”开关已打开。
成功解决Chrome浏览器 控制台下看不到接口信息的问题
IDEA添加Swagger2:Parameter 0 of method linkDiscoverers in org. springframework hateoas.config.Hateoasconfiguration required a single bean, but 15 were found:
IDEA添加Swagger2:Parameter 0 of method linkDiscoverers in org. springframework hateoas.config.Hateoasconfiguration required a single bean, but 15 were found
关于idea控制台乱码问题的解决办法
关于idea控制台乱码问题的解决办法
|
6月前
|
JSON 数据格式
MysbatisPlus-核心功能-IService开发基础业务接口,MysbatisPlus_Restful风格,新增@RequestBody指定是为了接收Json数据的,使用swagger必须注解
MysbatisPlus-核心功能-IService开发基础业务接口,MysbatisPlus_Restful风格,新增@RequestBody指定是为了接收Json数据的,使用swagger必须注解
|
6月前
IDEA乱码解决
IDEA乱码解决
32 0
|
7月前
|
缓存 JavaScript 程序员
【奇葩问题】vue项目在谷歌浏览器开启开发者工具时部分接口报错500 Proxy error: Could not proxy request
【奇葩问题】vue项目在谷歌浏览器开启开发者工具时部分接口报错500 Proxy error: Could not proxy request
140 0