SpringBoot集成Eureka后Controller返回结果为xml的解决方案
SpringBoot项目在集成了Eureka之后,Controller接口返回的信息变成了xml格式的,但现在一般都是使用的json来进行数据交互,所以有了如下解决方案。解决之前接口信息:@GetMapping(value = "all")public Result all() {Demo byId = service.getById("1");return new Result(CodeEnum
·
SpringBoot项目在集成了Eureka之后,Controller接口返回的信息变成了xml格式的,但现在一般都是使用的json来进行数据交互,所以有了如下解决方案。
解决之前
接口信息:
@GetMapping(value = "all")
public Result all() {
Demo byId = service.getById("1");
return new Result(CodeEnum.SUCCESS.get(), byId, LocalDateTime.now().toString());
}
此时pom.xml中的相关依赖如下:
<!-- eureka [start] -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<!-- eureka [end] -->
解决方案1
在接口的GetMapper注解上加上如下属性即可
produces = MediaType.APPLICATION_PROBLEM_JSON_VALUE
@GetMapping(value = "all", produces = MediaType.APPLICATION_PROBLEM_JSON_VALUE)
public Result all() {
Demo byId = service.getById("1");
return new Result(CodeEnum.SUCCESS.get(), byId, LocalDateTime.now().toString());
}
解决方案2
接口多了之后,每个接口上加produces也比较麻烦,所以修改eureka依赖为:spring-cloud-starter-netflix-eureka-client
<!-- eureka [start] -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!-- eureka [end] -->
Controller接口无需改动
@GetMapping(value = "all")
public Result all() {
Demo byId = service.getById("1");
return new Result(CodeEnum.SUCCESS.get(), byId, LocalDateTime.now().toString());
}
解决之后

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)