SpringCloud返回的是xml格式而非JSON数据

一、问题描述:

最近接触eureka,写了一个接口,使用@RestController注解修饰了类,预期是返回json格式的数据,但是结果返回的是xml格式的数据。

二、问题分析:

原因是因为直接或间接引入了jackson-dataformat-xml依赖导致的。我这里是因为引入了spring-cloud-starter-netflix-eureka-client以及fastjson两个包,而这两个依赖里面都包含了jackson-dataformat-xml依赖。

三、解决方案:

方案一:

如下图,在依赖中手动排除掉jackson-dataformat-xml依赖。

方案二:

java 复制代码
在类上使用@RestController 或者 在接口上使用@ResponseBody注解,同时在接口映射的注解中做如下配置:
@GetMapping(value = "/list", produces = { "application/json;charset=UTF-8" })。

总结:

以上的解决办法并不是我真正的问题,根据他人的博客按照流程进行修改时,发现自己错误引入了包导致。

正常情况下,eureka 注册中心应该引入如下依赖:

XML 复制代码
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

而需要注册的服务引入 :

XML 复制代码
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

但我错误的将需要注册的服务也引入了"eureka-server"依赖而不是"client",其他部分按正常配置。服务也能成功被注册到eureka中,也可以被解析和调用访问,但是却是XML格式的数据。

最后修改后恢复json。

相关推荐
贾斯汀frank2 小时前
Spring Boot + K8s + Istio 与 Spring Cloud:微服务治理能力对比
spring cloud·微服务·istio
李游Leo3 小时前
HarmonyOS 7 + Node.js-JSON Schema:审核测试路径与版本事实的一致性门禁【鸿蒙心迹】
node.js·json·harmonyos
泡海椒3 小时前
JQuick-Excel JQuickRow 数据准备实战:JObjectConverter、JQuickRow.toRows 与 XML 导出链路
xml·windows·excel
Thomas.Sir1 天前
第11课:Nacos 多环境、多服务配置隔离 & 配置优先级详解
spring cloud·微服务·nacos
ha_lydms1 天前
MaxCompute中JSON函数
大数据·数据库·阿里云·json·dataworks·maxcompute·odps
LeoCrawls2 天前
Python 读取 JSON 常见报错排查,附完整处理函数
python·json·php
泡海椒2 天前
JQuick-Excel 字段映射实战:用 MAPPING 固化 Excel 表头与业务字段契约
xml·java·开发语言·excel
星河耀银海3 天前
数据解析:AI返回JSON数据在HTML5中的渲染方法
人工智能·json·html5
Thomas.Sir3 天前
第8课:Nacos健康检测、权重配置、环境隔离实战
spring cloud·微服务
三8443 天前
Fastjson 漏洞 · 01 · 认识 Fastjson 与序列化基础
json·fastjson·反序列化