本文主要讲述一个傻瓜-本人,经过艰辛万苦,填了各种陨石坑,最后一不小心就调试成功的喜悦,和大家分享下。
开门见山的讲故事,可以看出本文讲的就是API接口文档和版本控制的整合操作配置过程,感觉网上有说到的坑我都踩了一下,所以整理出来给以后年老不记得事的自己。
错误一:No operations defined in spec! 解决=》根本原因就是,路由并没有发现可用的路径。
错误二:Unable to render this definition。解决=》api中的Controller/Action 加入[HttpPost]或者 [HTTPGet]
错误三:访问“服务URL:端口/swagger/index.html”访问不到版本控制,版本控制页面地址应为“服务URL:端口/index.html”
下面科普天文,开始讲陨石坑的故事:
我没有安装过,不过很多网友反映Swashbuckle.AspNetCore 2.0之前的版本会有很多的不兼容情况,很多问题会出现。据网友目击报道说是这个版本的UI有问题会发生类似“No operations defined in spec! ”的问题,所以最好与时俱进使用最新版本,方便省心。
所以先呈现以下我所有已安装的包版本:

开始操作流程:
一、使用Nuget安装微软官方提供的一个可用的Api版本控制库Microsoft.AspNetCore.Mvc.Versioning。
1、使用Nuget安装Api版本控制库Versioning
2、在StartUp.cs中的ConfigureServices添加:
services.AddApiVersioning(o =>
{
o.ReportApiVersions = true;//return versions in a response header
o.DefaultApiVersion = new ApiVersion(1, 0);//default version select
o.AssumeDefaultVersionWhenUnspecified = true;//if not specifying an api version,show the default version
});
3、添加不同版本的主目录文

本文作者分享了在Net Core 3.1中整合Swagger和API版本控制过程中遇到的问题及解决方案。包括"No operations defined in spec!"、"Unable to render this definition."等错误的解决办法,并详细介绍了安装Microsoft.AspNetCore.Mvc.Versioning库进行版本控制,以及安装Swashbuckle.AspNetCore生成Swagger文档的步骤。通过设置路由、控制器属性和Swagger配置,最终实现了成功运行并测试不同版本的API接口。
最低0.47元/天 解锁文章
2977

被折叠的 条评论
为什么被折叠?



