首页 > 编程语言 > 解决SpringBoot集成Eureka导致返回结果由json变为xml的问题
2021
10-15

解决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),具体尚不清除。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。

编程技巧