SpringCloud-Eureka 返回的是 xml 格式而非 JSON 数据
1. 问题
Eureka 消费端发送rest请求返回数据 是 xml格式 而不是 json
2. 原因 :
引入依赖 spring-cloud-starter-netflix-eureka-server 时,
间接 引入了 jackson-dataformat-xml 依赖
项目中使用的RestTemplate进行调用,
当引入 jackson-dataformat-xml,RestTemplate的 messageConverter 里面会增加MappingJackson2XmlHttpMessageConverter ,并且优先级高于MappingJackson2HttpMessageConverter,由于没有指定accept,导致调用的时候accept传递为xml
3.解决方案
-
header 中指定 accept 为 application/json
-
引入 spring-cloud-starter-netflix-eureka-server 依赖 时 exclude jackson-dataformat-xml 依赖