SpringBoot+Springcloud配置EurekaServe中,Controller层返回数据格式变成XML格式

起因:springboot+swagger2环境,通过swagger页面测试由原来的json格式变成xml格式(图如下),但是Controller层的@ResponseBody返回结果就是json,不知道为什么,网上查的原因就是pom加了jackson-dataformat-xml依赖:

# 我的pom 是没有引下面的包的

SpringBoot+Springcloud配置EurekaServe中,Controller层返回数据格式变成XML格式_第1张图片

 然后就到项目的依赖包下面找,果然有:

SpringBoot+Springcloud配置EurekaServe中,Controller层返回数据格式变成XML格式_第2张图片

返回的xml格式如下:SpringBoot+Springcloud配置EurekaServe中,Controller层返回数据格式变成XML格式_第3张图片 解决方法: 

 1、 在@RequestMapping(value = "/demo",produces = "")添加produces如下:

// 加载类路径上,对该类下的mapping都起作用
@RequestMapping(value = "/designer",produces = MediaType.APPLICATION_JSON_VALUE)

SpringBoot+Springcloud配置EurekaServe中,Controller层返回数据格式变成XML格式_第4张图片

 swagger上使用:

// swagger注解上使用
@ApiOperation(value = "",tags = "",produces = "application/json;application/xml")

 swagger页面的response type可选择返回类型:SpringBoot+Springcloud配置EurekaServe中,Controller层返回数据格式变成XML格式_第5张图片

2、你可以看下你的依赖包是否有jackson-dataformat-xml依赖,没有加上哦

      直接在请求url后加 .json || .xml ,注意get请求 不要加错位置。

结尾:浏览器请求,一般返回类型根据发起请求的request头中Accept来决定 */* 对应json类型,而application/xml在最后匹配json的*/ *前面,优先级高过json,所以返回了XML。

SpringBoot+Springcloud配置EurekaServe中,Controller层返回数据格式变成XML格式_第6张图片

 

你可能感兴趣的:(json)