javascript
SpringCloud采坑之Feign服务间调用默认返回xml
2019獨角獸企業重金招聘Python工程師標準>>>
日前在使用SpringCloud的時候,需要用到服務間的調用,采用Feign進行調用,但是默認返回了xml格式的數據,比較坑爹,不過在網上查了相關資料之后大概了解怎么回事:
主要是引入了jackson-dataformat-xml這個依賴,它是提供了jackson將實體類轉化為xml相關的作用。而本身jackson是可以將實體類轉化為json的,所以這樣Jackson是可以將實體類轉化為兩種類型的數據,而具體要轉化為哪一種數據,是要看http請求里面的accept頭信息的,我的瀏覽器chrome的accept是 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8 ,然后服務器會根據accept來決定是返回xml還是json,由于瀏覽器accept只有最后的*/是匹配 application/json的,而application/xml在/*前面,優先級比json高,所以用瀏覽器直接調用是會優先返回xml格式的。
解決方案:
<dependency><groupId>com.netflix.feign</groupId><artifactId>feign-jackson</artifactId><version>8.18.0</version></dependency><!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.39</version></dependency>引入feign-jackson包即可
轉載于:https://my.oschina.net/u/2477500/blog/1647102
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的SpringCloud采坑之Feign服务间调用默认返回xml的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试面试之登录界面
- 下一篇: Python for in 问题