VS2017 +NetCore2.2.0+WebApi项目整合SwaggerUI 以及遇到的坑
1、新建一个WebApi项目,这里不说了。
2、打开项目nuget管理控制台,在 https://www.nuget.org/ 搜索swagger的包:Swashbuckle.AspNetCore ,如图
3、选择稳定版本并复制安装命令到项目nuget程序包管理控制台中执行,然后等待安装
4、安装完成后,打开Startup.cs文件,引用命名空间
using Swashbuckle.AspNetCore.Swagger;
在ConfigureServices方法中添加以下代码
public void ConfigureServices(IServiceCollection services) { ... services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new Info { Version = "v1", Title = "MsSystem API", Description = "A simple example ASP.NET Core Web API" }); });
... }
在Configure方法中添加代码
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMvc(); app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "MsSystem API V1"); }); }
配置完成;
5、发布一遍该webapi项目到IIS上:
这里注意一个坑,坑了我半天,不然不能访问到swagger.json文件与swaggerui页面出不来,必须将发布目录的文件夹权限打开(允许写入,读取)
6、在浏览器访问swagger.json文件的位置
如:http://localhost:8687/swagger/v1/swagger.json
7、访问swaggerui的接口调试页面
如:http://localhost:8687/swagger/index.html
感谢别人的经验,更多配置可以参考:https://yq.aliyun.com/articles/608901