起因:springboot+swagger2环境,通过swagger页面测试由原来的json格式变成xml格式(图如下),但是Controller层的@ResponseBody返回结果就是json,不知道为什么,网上查的原因就是pom加了jackson-dataformat-xml依赖:
# 我的pom 是没有引下面的包的
然后就到项目的依赖包下面找,果然有:
返回的xml格式如下: 解决方法:
1、 在@RequestMapping(value = "/demo",produces = "")添加produces如下:
// 加载类路径上,对该类下的mapping都起作用
@RequestMapping(value = "/designer",produces = MediaType.APPLICATION_JSON_VALUE)
swagger上使用:
// swagger注解上使用
@ApiOperation(value = "",tags = "",produces = "application/json;application/xml")
swagger页面的response type可选择返回类型:
2、你可以看下你的依赖包是否有jackson-dataformat-xml依赖,没有加上哦
直接在请求url后加 .json || .xml ,注意get请求 不要加错位置。
结尾:浏览器请求,一般返回类型根据发起请求的request头中Accept来决定 */* 对应json类型,而application/xml在最后匹配json的*/ *前面,优先级高过json,所以返回了XML。