SpringBoot引入Eureka时导致数据返回格式是XML解决方法

当我们引入Eureka的时候, 项目的数据返回从Json变为了Xml,像下面这种

<User>
<userName>lee</userName>
<age>11</age>
<mobile>8090</mobile>
</User>

导致这个结果的根因是SpringBoot项目中集成了EurekaServer,又需要jackson-dataformat-xml这个依赖 ,而引入了这个依赖可以将实体转换为xml也可以转换为json,根据发起请求的request头中Accept来决定,我们发现请求头中都是xml的

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Host:localhost:8091
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36

解决方案就是在我们的方法上的@GetMapping 或 @PostMappding 中加入一个produces = { “application/json;charset=UTF-8” }即可,会在响应头加入数据响应格式

Content-Type:application/json;charset=UTF-8
 @GetMapping(value = "/getUserByName",produces = {"application/json;charset=UTF-8"})
    public User getUser(@RequestParam(value = "username",defaultValue = "lee") String userName)
    {
        return userService.getUser(userName);
    }

再次访问对应的访问路径发现成功变为jason格式

{"userName":"lee","age":11,"mobile":"8090"}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值