chrome游览器JSON Formatter插件无效问题排查,FastJsonHttpMessageConverter导致Content-Type返回不正确

devtools/2025/1/23 17:07:33/

问题描述

chrome游览器又一款JSON插件叫JSON Formatter,游览器GET请求调用接口时,如果返回的数据是json格式,则会自动格式化展示,类似这样:
https://www.chengpei.top/upload/thumbnails/2025/w800/<a class=jsonview.png" />
但是今天突然发现怎么也格式化不了,打开一个json文件倒是可以格式化,但是请求接口返回json就是无法格式化

问题原因

反复卸载重装插件都没有解决,所以想到会不是接口返回的数据有问题,排查发现接口返回的Response Headers中content-type是 text/html,这就不对劲了,按理说springboot项目Controller只要用了@RestController注解,返回实体对象的话,content-type应该默认就是application/json才对,这里居然不对

解决方案

既然返回的Content-Type不对,这里最简单的方案

@GetMapping(value = "/pageQuery/{apiPostfix}", produces = "application/json;charset=UTF-8")

@GetMapping注解里加上produces属性配置为指定的,实测确实可以解决

但是springboot项目Controller只要用了@RestController注解,返回实体对象的话,content-type应该默认就是application/json才对,这里一定是哪里出了问题才会有变化,经过排查发现在公司的依赖库里找到这么个类
https://www.chengpei.top/upload/webconfig.png
其中46行添加了一个FastJson的消息转换器,而且没有设置setSupportedMediaType属性,这里默认指是*/*,导致了后续返回数据时出了问题。

这里要注意在添加FastJsonHttpMessageConverter时要设置SupportedMediaTypes

converter.setSupportedMediaTypes(Collections.singletonList(MediaType.APPLICATION_JSON_UTF8));

或者干脆不要用FastJsonHttpMessageConverter了,一般MappingJackson2HttpMessageConverter已经完全够用了,引入这么个消息转换器不知道哪天又出什么BUG


http://www.ppmy.cn/devtools/152937.html

相关文章

微信小程序使用上拉加载onReachBottom。页面拖不动。一直无法触发上拉的事件。

1&#xff0c;可能是原因是你使用了scroll-view的标签&#xff0c;用onReachBottom触发加载事件。这两个是有冲突的。没办法一起使用。如果页面的样式是滚动的是无法去触发页面的onReachBottom的函数的。因此&#xff0c;你使用overflow:auto.来使用页面的某些元素滚动&#xf…

Spring源码04 - AOP深入设计原理

AOP深入设计原理 文章目录 AOP深入设计原理一&#xff1a;JVM下的AOP1&#xff1a;Java程序运行在JVM中的特征2&#xff1a;Java程序执行流3&#xff1a;引入了代理模式的Java程序执行流 二&#xff1a;Spring AOP工作原理 本文整理自csdn博主亦山 -> 《Spring设计思想》AOP…

每日一题——二分法求旋转数组的最小数字

二分法求旋转数组的最小数字 描述数据范围&#xff1a;要求&#xff1a; 示例示例 1示例 2 解题思路算法流程 代码实现关键点解释举例分析示例 1&#xff1a;[3, 4, 5, 1, 2]示例 2&#xff1a;[3, 100, 200, 3] 总结 描述 有一个长度为 n 的非降序数组&#xff0c;例如 [1, 2…

考研408笔记之数据结构(三)——串

数据结构&#xff08;三&#xff09;——串 1. 串的定义和基本操作 本节内容很少&#xff0c;重点是串的模式匹配&#xff0c;所以对于串的定义和基本操作&#xff0c;我就简单提一些易错点。另外&#xff0c;串也是一种特殊的线性表&#xff0c;只不过线性表是可以存储任何东…

RK3568笔记七十六:使用V4L2框架录制MP4视频保存到本地

若该文为原创文章,转载请注明原文出处。 录制MP4使用的是ffmpeg,如何编译自行处理。 使用的是正点原子的RK3568测试,其他板子自行调试。 一、程序功能介绍 说明: 程序参考FFMPEG提供的例子程序muxing.c进行修改。 功能介绍: 程序里目前有一个子线程和一个主线程,子线程…

SSM项目本地Tomcat部署

目录 1、打包 2、部署在本地Tomcat上 3、运行tomcat&#xff08;startup&#xff09; 1、打包 在生命周期中&#xff0c;完成打包。 注意&#xff1a;打包时会测试&#xff0c;测试时可能会测试根据id删除。第二次的测试就会出错&#xff0c;导致打包失败。 从target目录下…

【趣学SQL】第三章:数据处理与管理 3.1数据清洗技术——给数据库做“数据SPA“的魔幻之旅

第三章&#xff1a;数据处理与管理 3.1 数据清洗技术——给数据库做"数据SPA"的魔幻之旅 欢迎来到「数据库美容院」&#xff01;今天我们将化身"数据美容师"&#xff0c;用一家虚拟网红餐厅的翻车案例&#xff0c;教你如何把脏乱差的原始数据变成清爽整洁…

网站HTTP改成HTTPS

您不仅需要知道如何将HTTP转换为HTTPS&#xff0c;还必须在不妨碍您的网站自成立以来建立的任何搜索排名权限的情况下进行切换。 为什么应该从HTTP转换为HTTPS&#xff1f; 与非安全HTTP于不同&#xff0c;安全域使用SSL&#xff08;安全套接字层&#xff09;服务器上的加密代…