Swagger—Can't read from file http://*:*/swagger/docs/v1

本文介绍如何解决Swagger集成到WebApi后出现的验证错误。通过禁用验证器、使站点可公开访问或本地部署验证器三种方式解决,其中详细介绍了禁用验证器的方法。

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

  Swagger是一个API文档工具,在没有API文档工具之前,我们必须要手写API文档,而有了API文档工具之后它可以自动帮我们生成API文档。而Swagger就是一个很好的API文档工具,当我在WebApi中集成了Swagger插件之后,并查看文档时,在页面的右下角却报了一个错误。虽然这个错误并不影响我们使用API接口,但是看着总是很不舒服。
在这里插入图片描述
点开那个错误之后,会有提示信息。但是为什么会出现这个错误呢?那又怎么去解决呢?
之所以出现这个错误,是因为Swagger中有一个swagger-validator小工具,这个小工具是用来校验生成的文档说明文件是否符合语法规定的。而默认情况下,swagger ui使用在线验证器:online.swagger.io。如果它无法访问您的swagger网址,那么您将看到该错误消息。

解决方法

1. 禁用validator验证

config.EnableSwagger().EnableSwaggerUi(c => c.DisableValidator());

那么在哪个文件配置禁用验证呢?它就在\ App_Start \ SwaggerConfig.cs
在这里插入图片描述
如果没有更改过这个文件中的内容,只要找到下面的注释解开就好了;如果将这些注释都删了的话,只要填上这句话就好了。
在这里插入图片描述
2. 让您的网站公开访问
3. 在本地托管验证器
  可以在以下网址获取验证器:https://github.com/swagger-api/validator-badge#running-locally 除此之外,还要在配置文件中设置验证器的位置:config.EnableSwagger().EnableSwaggerUi(c => c.SetValidatorUrl(<validator_url>));

最后,由于本人技术有限,不知道第二种和第三种方法应该如何使用,为了方便我就采用了第一种方法,这样在打开Swagger ui页面时就看不见那个红色的错误了。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值