解決SpringBoot集成Eureka導致返回結果由json變為xml的問題

SpringBoot集成Eureka導致返回結果由json變為xml

解決方案

在請求的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)

支持JSON和XML兩種格式的返回

有時項目需求兩種返回格式,這時候我們隻要加上jackson xml的依賴就可以瞭

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

eureka 啟動失敗 返回xml信息

一、為什麼要用到這個

今天照常啟動eclipse後,啟動eureka項目,訪問對應eureka卻返回一大堆 xml 信息,看控制臺卻並沒有報錯,很奇怪的情況,度娘甚至找不到相關信息,google上有一個問題類似的,下面 有個提示說 在配置文件裡加一行配置,我試瞭依然失敗

二、解決方案

嘗試各種方法無果後,決定從maven下手。

第一次,找到自己maven配置下的倉儲路徑,(windows-preference-maven-user settings local repository)

進入 org/ springframework ,刪除 cloud 文件夾(需要關閉 eclipse),然後打開eclipse ,update 一下項目,完成後再次啟動eureka,問題依然沒有解決,所有不是 cloud 這個包的問題。

第二次, 非常狠心地,直接刪除整個 springframework 文件夾,再重新下載。 成功。eureka 訪問恢復正常。

綜上,問題應該出在 springframework 下某個包(已排除cloud),具體尚不清除。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: