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。

相关推荐
xuhaoyu_cpp_java9 分钟前
XML学习
xml·java·笔记·学习
张涛酱10745612 分钟前
Jackson 严格解析:拒绝"温柔"的 JSON
spring boot·json
nilm6140 分钟前
作为前端请使用vue2,elementUI框架 根据后端返回的json 生成表格.
前端·elementui·json
wefly201712 小时前
免安装!m3u8live.cn在线 M3U8 播放器,小白也能快速上手
java·开发语言·python·json·php·m3u8·m3u8在线转换
xianjian091220 小时前
springboot与springcloud以及springcloudalibaba版本对照
spring boot·后端·spring cloud
-许平安-21 小时前
MCP项目笔记七(插件 calculator)
c++·笔记·json·plugin·mcp
.生产的驴1 天前
1Panel实战|SpringColud微服务部署生产环境一键部署Docker+Nacos+MySQL 数据定时备份 控制台 安全高效易维护
服务器·后端·mysql·spring cloud·docker·微服务·信息可视化
蜜獾云1 天前
Spring Cloud Hystrix 详细示-元一软件
java·spring cloud·hystrix
Joker`s smile1 天前
Spring Cloud Alibaba 基础入门实践
java·spring boot·后端·spring cloud
ID_180079054731 天前
淘宝商品详情API的调用频率限制是多少?
大数据·数据库·json