目录

1.说明

2.解决


1.说明

一般情况下,@RestController中的接口默认响应数据格式都是 json 格式的数据,但有时候使用某些依赖包,会影响@ResponseBody的响应数据类型为xml格式,

例:

2.解决

但我们希望响应数据格式是json格式,最后发现是因为某些依赖中整合了 jackson-dataformat-xml 依赖导致的,所以只需要把内置的这个依赖排除掉就解决了

所以只需要在eureka依赖中使用 排除该依赖就行。

     <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.fasterxml.jackson.dataformat</groupId>
                    <artifactId>jackson-dataformat-xml</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

注意:

常见的几种依赖了 jackson-dataformat-xml包的依赖如下:

  1. spring-cloud-starter-netflix-eureka-server
  2. spring-cloud-alibaba-sentinel-datasource
  3. spring-cloud-starter-alibaba-sentinel

参照:

springboot项目解决@ResponseBody注解返回xml格式数据而不是json格式的问题_拄杖忙学轻声码的博客-CSDN博客_返回的数据格式不是 json

@ResponseBody返回一个xml格式的数据_人生丶几度的博客-CSDN博客_responsebody返回xml 

解决@ResponseBody注解返回xml格式数据而不是json格式数据的问题_.不是山谷.的博客-CSDN博客 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐