• netcore2.2以及netcore3.0下的swagger使用


    自从core3.0发布后,中间有很多东西跟以往用到的2.2版本相差特别多,今天主要来说一下swagger不同版本下的使用。

    swagger就是一个可视化接口工具,为了方便让调用者能够很好的了解接口以及接口需要的参数!具体界面不做过多的截图,今天主要以应用为主。

    一:2.2版本下面使用swagger

    1.1:创建一个netcore2.2版本的webapi的项目

    1.2:在Nuget中添加Swashbuckle.AspNetCore

    1.3:在Startup类中增加如下内容:

         1.3.1:在ConfigureServices方法中增加:services.AddSwaggerGen,具体代码如下:

     1  #region 注册Swagger生成器
     2             services.AddSwaggerGen(c =>
     3             {
     4                 c.SwaggerDoc("v1", new Info
     5                 {
     6                     Version = "v1.0",
     7                     Title = "wss API",
     8                     Contact = new Contact
     9                     {
    10                         Name = "wss",
    11                         Email = "loverwangshan@qq.com",
    12                         Url = "331803047"
    13                     },
    14                     License = new License
    15                     {
    16                         Name = "版权所有 © wss",
    17                         Url = "http://331803047"
    18                     }
    19                 });
    20                 var path = Path.Combine(AppContext.BaseDirectory, "MyFramework4CoreTest.xml");  //MyFramework4CoreTest.xml为右键属性生成的xml文件
    21                 c.IncludeXmlComments(path);
    22                 //c.OperationFilter<AddAuthTokenHeaderParameter>();
    23             });
    24   #endregion

         1.3.2:Configure方法中增加:app.UseSwagger跟app.UseSwaggerUI,具体如下:

    #region Swagger
                // 启用中间件服务生成Swagger作为JSON终结点
                app.UseSwagger();
                // 启用中间件服务对swagger-ui,指定Swagger JSON终结点
                app.UseSwaggerUI(c =>
                {
                    c.SwaggerEndpoint("/swagger/v1/swagger.json", "create by wss");
                });
     #endregion
    View Code

    1.4:项目右键属性生成-》输出(xml文档文件),谨记该文件一定要发布时始终复制,不然发布在IIS上面会报错

    以上完成四步,则配置好了一个netcore2.2的swagger可视化接口!

    二:3.0版本下面使用swagger

    2.1:创建3.0的webapi项目

    2.2:引用以下类库:    

     Microsoft.OpenApi
     (以下类库在netcore3.0版本的必须要求5.0(目前只有预览版本))
     Swashbuckle.AspNetCore
     Microsoft.Extensions.PlatformAbstractions
     Swashbuckle.AspNetCore.SwaggerGen

    2.3:在Startup类中做如下操作:

       2.3.1:在ConfigureServices方法中services.AddSwaggerGen,具体代码如下:   

     1             #region 注册Swagger生成器
     2             services.AddSwaggerGen(c =>
     3             {
     4                 c.SwaggerDoc("v1", new OpenApiInfo
     5                 {
     6                     Version = "1.0.0.0",
     7                     Title = "wss 1.0.0.0",
     8                     Description = "wss ASP.NET Core Web API",
     9                     Contact = new OpenApiContact
    10                     {
    11                         Name = "wss",
    12                         Email = "loverwangshan@qq.com",
    13                         Url =new Uri("http://wpa.qq.com/msgrd?v=3&uin=331803047&site=qq&menu=yes")
    14                     },
    15                     License = new OpenApiLicense
    16                     {
    17                         Name = "版权所有 © wss",
    18                         Url = new Uri("http://wss.net")
    19                     }
    20                 });
    21                 var basePath = PlatformServices.Default.Application.ApplicationBasePath;
    22                 var xmlPath = Path.Combine(basePath, "MyFrameworkWebApi4Core3.0Test.xml");
    23                 c.IncludeXmlComments(xmlPath);
    24             });
    25             #endregion

        2.3.2:在Configure方法中 app.UseSwagger 和 app.UseSwaggerUI,具体代码如下:

    1  #region Swagger
    2  // 启用中间件服务生成Swagger作为JSON终结点
    3  app.UseSwagger();
    4  // 启用中间件服务对swagger-ui,指定Swagger JSON终结点
    5  app.UseSwaggerUI(c =>
    6  {
    7      c.SwaggerEndpoint("/swagger/v1/swagger.json", "wss");
    8  });
    9  #endregion

    2.4:项目右键属性-》生成-》输出(xml文档文件),谨记该文件一定要发布时始终复制,不然发布在IIS上面会报错(生成输出的名字为:MyFrameworkWebApi4Core3.0Test.xml)

    2.5:Action上面必须有 [HttpGet] 或者 [HttpPost] 等标识,不然会报“Failed to load API definition.”

  • 相关阅读:
    ElasticSearch 分词器
    ElasticSearch 搜索引擎概念简介
    Kibana,Logstash 和 Cerebro 的安装运行
    ElasticSearch 安装与运行
    ElasticSearch 入门简介
    SVM 支持向量机算法-实战篇
    SVM 支持向量机算法-原理篇
    nginx 访问限速
    nginx 开启 autoindex
    nginx 开启 gzip 压缩
  • 原文地址:https://www.cnblogs.com/loverwangshan/p/11912467.html
Copyright © 2020-2023  润新知