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

 

posted @ 2019-06-05 18:16  黄鹏程  阅读(2394)  评论(1编辑  收藏  举报