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页面时就看不见那个红色的错误了。