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),具体尚不清除。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。