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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM