swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法

swagger在 .net core中的使用:大佬步骤点击前往

在安装大佬的步骤来配置swagger后来配置,发现一些问题。特此总结下

安装包:Swashbuckle.AspNetCore
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第1张图片

在Startup.cs 配置swagger

在ConfigureServices中添加代码

	//注册Swagger生成器,定义一个和多个Swagger 文档
			services.AddSwaggerGen(c => {
				c.SwaggerDoc("V1", new Info
				{
					Version = "V1",
					Title = "体检系统后台服务",
					Description = "这是一个基于.net core的web API",
					TermsOfService = "None",
					Contact = new Contact
					{
						Name = "姓名",
						Email = "邮箱",
						Url = "http://www.xx.com"
					},
					License = new License
					{
						Name = "许可证名字",
						Url = string.Empty
					}
				}); ;
				// 为 Swagger JSON and UI设置xml文档注释路径
				var basePath = Path.GetDirectoryName(typeof(Program).Assembly.Location);//获取应用程序所在目录
				var xmlPath = Path.Combine(basePath, "MEC.API.xml");
				c.IncludeXmlComments(xmlPath);
			});

在Configure中添加代码

	//启用中间件服务生成swagger 作为JSON的终点
			app.UseSwagger();
			//启用中间件服务对swagger-ui,指定Swagger JSON终结点
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/V1/swagger.json", "My API V1");
				//加上后,访问地址:https://localhost:44388
				//c.RoutePrefix = "https://localhost:44388/swagger";//访问地址:https://localhost:49382/swagger      
			});

以上代码直接复制添加即可
打开主项目属性——》生成
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第2张图片
1、添加取消警告代码1591;
主要是个人习惯,看着一些无关的警告烦
2、添加xml文档的路径

在地址栏中输入:https://localhost:【prot】/swagger/index.html
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第3张图片
如果觉得每次运行项目输入地址,比较麻烦的话
打开项目——》属性

将启动浏览器设置为swagger/index.html
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第4张图片
再次运行自动打开swagger页面。

补充,在首次安装中如果出现以下错误,
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第5张图片

首先打开运行项目打开地址https://localhost:【port】/swagger/V1/swagger.json
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第6张图片
如能成功打开,请检查下在Startup.cs 的配置文件。
例如:
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第7张图片
在ConfigureServices方法中的配置,这里的V1是大写字母。
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第8张图片

在Configure启动中填写的地址中的v1是小写。所以swagger当然找不到/swagger.json这个文件了。
修改统一的字段,再次运行则可以运行

添加注释说明
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第9张图片
效果
swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第10张图片
-----------------错误2------------

重新把项目搭建了次,然后代码直接copy过来。发现报错了。

打不开https://localhost:【port】/swagger/V1/swagger.json这个文件

最后发现在Configure 没配置swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法_第11张图片

app.UseSwagger();
app.UseSwaggerUI(c =>
{
	c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1");
});

把以上代码加入到swagger中

你可能感兴趣的:(记录,.net,core,API)