SpringBoot集成Eureka后Controller返回结果为xml的解决方案
程序员文章站
2022-04-15 18:39:03
SpringBoot项目在集成了Eureka之后,Controller接口返回的信息变成了xml格式的,但现在一般都是使用的json来进行数据交互,所以有了如下解决方案。解决之前接口信息:@GetMapping(value = "all") public Result all() { Demo byId = service.getById("1"); return new Result(CodeEnum.SUCCESS.get(), byId, LocalD....
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());
}
解决之后
本文地址:https://blog.csdn.net/qq_38038472/article/details/110288284