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);

   }

}

相关文章
|
4月前
|
API
支付系统38-----支付宝支付---统一收单线下交易查询 第一步下单------》发起支付请求,登录,确认支付,查单接口开发,swagger接口全部呈现,
支付系统38-----支付宝支付---统一收单线下交易查询 第一步下单------》发起支付请求,登录,确认支付,查单接口开发,swagger接口全部呈现,
|
28天前
|
域名解析 网络协议 前端开发
浏览器输入域名网址访问后的过程详解
1、以91处理网为例,客户端浏览器通过DNS解析到www.91chuli.com,IP地址是202.108.22.5,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到202.108.22.5,然后通过TCP进行封装数据包,输入到网络层。
37 2
|
2月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
143 2
|
1月前
|
IDE 开发工具
idea控制台出现乱码的解决方案
本文提供了解决IntelliJ IDEA控制台乱码问题的多种方法,包括设置项目编码、控制台编码、修改启动配置、修改IDE编码、检查系统环境设置以及更新IDE版本。
460 0
|
3月前
|
Web App开发
成功解决Chrome浏览器 控制台下看不到接口信息的问题
这篇文章提供了解决Chrome浏览器控制台不显示接口信息问题的方法,包括检查过滤设置和确保“保留日志”开关已打开。
成功解决Chrome浏览器 控制台下看不到接口信息的问题
|
3月前
Edge——如何打开IE浏览器进行访问
Edge——如何打开IE浏览器进行访问
70 4
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
|
4月前
|
安全 网络安全
用IE浏览器访问网站提示证书错误
当你在Internet Explorer中遇到证书错误提示,通常是因网站SSL/TLS证书问题或浏览器安全设置需调整。解决方法包括: 检查时间设置 调整IE设置 安装证书 调整计算机时间
113 3
关于idea控制台乱码问题的解决办法
关于idea控制台乱码问题的解决办法
idea快捷键:全局搜索文件,代码,接口,ctrl+shift+f无效?也可以点击Edit 点击Find Replace in path
idea快捷键:全局搜索文件,代码,接口,ctrl+shift+f无效?也可以点击Edit 点击Find Replace in path