SpringBoot前后端分离,Swagger返回的Json数据成字符串问题解决

出现的问题

当使用SpringBoot做后台架构,采用Swagger做接口插件,会遇到响应的参数不按JSON显示,而是一个字符串,而且字符串还带有反斜杠,看起来贼不爽。见下图:
在这里插入图片描述

出现问题的原因

经过反复的检查,发现问题在于后台返回的response的Content-type为text,那么swagger就会将他当成一个字符串进行展示。就没有看起来很清爽的画面了。想知道怎么转换吗,想必已经猜到了,对就是处理响应体。下面介绍两种方法设置响应体的Content-type。

问题解决

1、局部设置响应体

局部设置很简单,就是在Controller上的 @RequestMapping注解里增加一个produces 属性,见下图:
在这里插入图片描述

2、全局设置响应体

一个一个的设置响应体是挺麻烦,有局部方法,超强的SpringBoot当然会有全局设置的方法了。创建一个类,实现WebMvcConfigurer类,重写configureContentNegotiation方法就行了。具体骚操作看如下代码:

public class WebMvcConfig implements WebMvcConfigurer{
    @Override
    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    //MediaType.APPLICATION_JSON 设置的是application/json ,想要设置其他的可以到MediaType类里面去找相关的常量哦
    configurer.defaultContentType(MediaType.APPLICATION_JSON);
    }
}

到这里我们的问题就解决了哦,来看看添加Content-type后的swagger显示是什么样子吧:
在这里插入图片描述
  怎么样,是不是能解决你的问题呢?如果有帮助解决问题,麻烦点赞关注哦,时时更新小问题解决方法。关注不迷路--------
  有任何问题都可以在评论区或者私聊!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值