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

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

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

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

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

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

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
undefined /swagger/v1/swagger.json是一个URL地址,用于获取Swagger JSON文件。根据引用和引用的信息,问题出现的原因是在应用程序的Configure方法中没有正确配置Swagger。要解决这个问题,需要在Configure方法中添加以下代码: app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); }); 这些代码会启用Swagger中间件服务,并指定Swagger JSON的终结点。通过访问https://localhost:[port]/swagger/v1/swagger.json,你应该能够成功获取Swagger JSON文件。 [1 [2<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法](https://blog.csdn.net/qq_28218253/article/details/102496212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [swagger-lint-api:Swagger JSON API 规范的 Linter](https://download.csdn.net/download/weixin_42112658/19252001)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值