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。

相关推荐
Java小白笔记1 小时前
Docker 命令大全:从入门到精通的完整指令集
spring cloud·docker
光学补偿2 小时前
微服务学习 --- Spring Cloud概述
学习·spring cloud·微服务
不能只会打代码3 小时前
校享云 — 高校智慧后勤平台微服务架构设计与实践
spring cloud·docker·微服务·nacos·vue·校享云
庖丁AI6 小时前
PDF 表格提取到 CSV 和 JSON 怎么做?复杂版式要先解决结构化解析
pdf·json
LiaoWL1236 小时前
【SpringCloud合集-06】Spring Cloud Gateway网关学习笔记
笔记·学习·spring cloud
CedarQR1 天前
VS Code Copilot Chat 配置 MCP Server 全攻略(以 Next AI Draw.io 为例)
人工智能·ui·json
肖志-AI全栈1 天前
从零讲透 Ajax:XHR、Fetch、JSON 序列化到异步编程全链路
前端·ajax·json
乐观的Terry1 天前
1、为什么要自己造发布系统
java·spring boot·后端·spring cloud·架构
前端Baymax1 天前
JSON配置文件的UTF-8 BOM编码陷阱
json
HZZD_HZZD1 天前
从单体到微服务:能源计费系统的领域拆分、数据一致性与Spring Cloud实战落地
spring cloud·微服务·能源