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。

相关推荐
傻啦嘿哟2 小时前
构建命令行单词记忆工具:JSON词库与复习算法的完美结合
算法·json
派大鑫wink2 小时前
【Day48】MyBatis 注解开发:替代 XML 映射文件
xml·java·mybatis
CV_J2 小时前
es文档操作
elasticsearch·spring cloud·微服务
编程彩机4 小时前
互联网大厂Java面试:从Spring Cloud到Kafka的技术场景深度解析
java·spring cloud·微服务·kafka·技术面试
一条代码鱼4 小时前
修复Nacos namespaces未授权访问漏洞【原理扫描】
java·运维·spring cloud
lanicc1 天前
JsonSurfer:高性能、流式 JSON 解析利器
json
让我上个超影吧1 天前
天机学堂——播放进度方案优化
java·spring boot·redis·spring cloud
深入技术了解原理1 天前
引入eureka依赖但是无法注册:无法解析配置属性 ‘eureka.client.service-url.defaultZone‘
spring boot·spring cloud·云原生·eureka
BlockChain8881 天前
Spring Cloud入门篇:微服务架构从0到1(20000字完整指南)
spring cloud·微服务·架构
sunnyday04261 天前
Spring Boot 日志配置详解:log4j2.xml 的完整配置指南
xml·spring boot·log4j