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。

相关推荐
玄〤1 小时前
RabbitMQ高级篇总结(黑马微服务课day11)(包含黑马商城业务改造)
java·分布式·spring cloud·微服务·架构·rabbitmq
Hui Baby2 小时前
Spring Boot 中使用 JSONPath 高效处理 JSON 数据
spring boot·python·json
利刃大大2 小时前
【SpringCloud】负载均衡LoadBalance && SpringCloudLoadBalancer && 多机部署
spring·spring cloud·负载均衡
Hui Baby2 小时前
SpringBoot + JSON 字段 + MySQL 8.0 函数索引:灵活存储半结构化数据,查询不慢
spring boot·mysql·json
MX_935920 小时前
Spring xml 方式整合第三方框架总结加案例
xml·java·spring
androidstarjack21 小时前
2026 年 IM 即时通讯方案选型实践:4 家主流厂商对比分析
java·spring·spring cloud
Dxy123931021621 小时前
Python 将 JSON 字符串转换为字典
前端·python·json
利刃大大1 天前
【SpringCloud】注册中心 && 服务注册 && 服务发现 && Eureka
spring cloud·eureka·服务发现·注册中心·服务注册
yeyeye1112 天前
Spring Cloud Data Flow 简介
后端·spring·spring cloud
一个天蝎座 白勺 程序猿2 天前
破译JSON密码:KingbaseES全场景JSON数据处理实战指南
数据库·sql·json·kingbasees·金仓数据库