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。

相关推荐
Dxy12393102164 小时前
MySQL JSON 生成列索引原理、实战与坑点
mysql·adb·json
来福猿7 小时前
Nacos 源码解析:服务注册、配置中心与心跳续约机制
spring·spring cloud
l1t8 小时前
DeepSeek总结的DuckDB 从 JSON 字符串到类型化列
数据库·sql·json
Thomas.Sir8 小时前
第27课:SkyWalking全链路追踪实战 & 微服务调用链路分析
spring cloud·微服务·skywalking
泡海椒9 小时前
Spring 项目中如何组织 JQuick-Excel 的 XML 与 Bean
xml·spring·excel
野生技术架构师9 小时前
Dubbo 还是 Spring Cloud?从架构本质到落地选型
spring cloud·架构·dubbo
积流成海9 小时前
CSV与JSON转换:RFC 4180 转义规则与 Excel 中文乱码
json·excel·盘子工具站
夜雪一千9 小时前
MySQL中查询和操作JSON类型的数据
数据库·mysql·json
承渊政道10 小时前
Linux网络学习【应用层自定义协议与序列化实战:从手写序列化与反序列化到深入理解进程间关系与守护进程】
linux·网络·学习·ubuntu·json·序列化与反序列化
Wang's Blog11 小时前
Java 项目实战: 交友项目 - 前后端分离的工程实践
java·spring cloud·架构