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

返回的XML

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

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

<dependency>   <groupId>com.fasterxml.jackson.jaxrs</groupId>   <artifactId>jackson-jaxrs-xml-provider</artifactId> </dependency>  

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

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

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 --------------------- 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值