使用swagger 遇到 Can't read swagger JSON 错误

本文介绍了解决Swagger在遇到中文路径时出现的Can't read swagger JSON错误的方法。通过对比两个不同配置的Tomcat服务器,发现URLEncoding的设置对于处理中文路径至关重要。文中给出了具体的配置建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         最近在做项目的过程中,使用到了swagger ,按照swagger 正常设置之后,在浏览器中查看接口的时候却遇到了 Can't read swagger JSON 错误,刚开始没有头绪,由于不是很熟悉swagger,无法定位错误。但是在同事给的tomcat中却能很好的工作,这肯定是tomcat设置引起的问题,所以对比了两个tomcat的设置文档,发现以下不同,第一张是tomcat的默认设置,另一张是修改后可以正常工作的tomcat的配置文件:

          可以发现只是存在了一个URLEncoding的设置,猜测原因可能是因为存在中文路径的问题。在把SwaggerConfig中的

     接口声明中的最后一个参数修改成英文后,即使不加URLEncoding的设置也可以正常访问,所以可以确定就是中文路径引起的问题。在查询接口的时候,swagger的请求路径如下图:

  如果group参数存在中文,而没有设置URLEncoding,那就会无法解析。

这只是一个错误的解决方案,具体原理不做分析。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值