SpringCloud因为Eureka返回结果由json变为xml解决方案

返回的XML

新建SpringCloud项目,控制层返回的是Xml,肯定少了配置,xml如图

SpringCloud因为Eureka返回结果由json变为xml解决方案_第1张图片

支持JSON和XML两种格式的返回 项目想支持两种返回格式,这时候我们只要加上jackson xml的依赖就可以了

  com.fasterxml.jackson.jaxrs   jackson-jaxrs-xml-provider  

访问时通过后缀来规定返回格式:

http://192.168.100.160:5000/a/test/123.xml?token=000

SpringCloud因为Eureka返回结果由json变为xml解决方案_第2张图片

http://192.168.100.160:5000/b/test/123.json?token=000

当然,解决问题的方法有很多种,也有指定请求头的(网上搜索,记录一下,业务用不到):

解决方案

在请求的Mapping上加上produces = { “application/json;charset=UTF-8” },例如:

@GetMapping(value = "/user-instance", produces = { "application/json;charset=UTF-8" }) 以下是json和xml  @GetMapping(value = "/user-instance", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @GetMapping(value = "/user-instance", produces = MediaType.APPLICATION_XML_VALUE) ---------------------  SpringBoot项目中集成了EurekaServer,有jackson-dataformat-xml这个依赖 

可以将实体转换为xml也可以转换为json,根据发起请求的request头中Accept来决定,例如这个:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 可以看到application/xml在最后匹配json的*/ *前面,优先级高过json,所以返回了XML --------------------- 

你可能感兴趣的:(Spring,Cloud,Spring,Boot)