代码改变世界

.NET WebApi 配置 Swagger

2022-07-24 17:50  idea555  阅读(467)  评论(0)    收藏  举报

今天移动开发端搭建了一个RAP2平台,之前与移动端配合的几个WebApi项目都是以postman的json文件对接的,现在得改成Swagger对接到RAP2平台上去了。之前倒是也解过Swagger,不过也没有在正式项目中用过,这次就好好学习一下吧!

.NET Framework 项目配置 Swagger

第一步Nuget引用 Swashbuckle

在这里插入图片描述

第二步 属性设置

点击项目名称,右键属性,选择生成,勾选XML文档文件,记住文档文件名称,下一步要用到
在这里插入图片描述

第三步 引用完包后在App_Start中会生成一个 SwaggerConfig.cs 文件

在这里插入图片描述

打开SwaggerConfig文件,会发现好多注释掉的代码,全部删除掉留下,将上一步的文档名称配置进去

  public class SwaggerConfig
    {
        public static void Register()
        {
            var thisAssembly = typeof(SwaggerConfig).Assembly;
            GlobalConfiguration.Configuration
                .EnableSwagger(c =>
                    {
                        c.SingleApiVersion("v1", "SwaggerF");//版本号+项目名称
                        var webApiXmlPath = string.Format("{0}/bin/SwaggerF.xml", System.AppDomain.CurrentDomain.BaseDirectory);//配置生成路径
                        c.IncludeXmlComments(webApiXmlPath);
                        
                    })
                .EnableSwaggerUi(c =>
                    {
                       
                    });
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

第四步 运行项目

项目运行后访问 https://localhost:44348/swagger 就可以看到接口页面了
在这里插入图片描述

发布后将 https://localhost:44348/swagger/docs/v1 交给RAP2系统管理员就OK了

.NETCORE 项目配置 Swagger

第一步Nuget引用 Swashbuckle.AspNetCore

在这里插入图片描述

第二步 属性设置

点击项目名称,右键属性,选择生成,勾选XML文档文件,记住文档文件名称

在这里插入图片描述

第三步 项目配置

Startup文件中按如下配置服务和中间件

ConfigureServices

      services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo { Title = "MyApi", Version = "v1" });
                var xmlPath = Path.Combine(AppContext.BaseDirectory, "Swagger.xml");
                c.IncludeXmlComments(xmlPath);
            });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Configure

   app.UseSwagger(c => { c.RouteTemplate = "swagger/{documentName}/swagger.json"; });
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("v1/swagger.json", "Swagger");
    });
  • 1
  • 2
  • 3
  • 4
  • 5

第四步 运行项目

项目运行后访问 https://localhost:44322/swagger/ 就可以看到接口页面了

在这里插入图片描述