Eureka REST Api返回xml改为json

Spring Boot在调用Eureka REST    接口返回格式为xml格式,想改为json格式

解决办法

请求头部改为    Accept: text/html, application/xhtml+xml, application/json;q=0.9, */*;q=0.8

问题描述

GET http://127.0.0.1:8761/eureka/apps  

<applications>
<versions__delta>1</versions__delta>
<apps__hashcode>UP_12_</apps__hashcode> 
</application>
<!--其它省略-->

 

问题原因

eureka server 依赖了

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

改变了原来Spring Boot的默认配置,参考:https://www.jianshu.com/p/cb3915db8aa8

 

解决办法

其实解决办法有很多种,可以通过代码设置默认返回,详细参考官方博客:https://spring.io/blog/2013/05/11/content-negotiation-using-spring-mvc

但我觉得最简单的办法是设置请求头,以下摘自(https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Accept):

Accept 请求头用来告知(服务器)客户端可以处理的内容类型,这种内容类型用MIME类型来表示。借助内容协商机制, 服务器可以从诸多备选项中选择一项进行应用,

并使用 Content-Type 应答头通知客户端它的选择。

默认值为 Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8

*/* 任意类型的 MIME 类型

;q= (q因子权重):值代表优先顺序,用相对质量价值表示,又称作权重。

可见在默认值种xml优先级比json优先级高,可设置为:

Accept: text/html, application/xhtml+xml, application/json;q=0.9, */*;q=0.8

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值