zoukankan      html  css  js  c++  java
  • WebAPI项目中使用Swagger

    最近开始用一个工具Swagger,可以自动生成接口文档并测试接口,简直太好用了,可以告别PostMan,并且也不用写接口文档了,强烈推荐!!!

    首先声明一下,这个是针对WebApi的,继承Controller是控制器是不支持的哦。

    1、在NuGet里面搜索Swashbuckle.AspNetCore包进行安装

     2、在Startup类添加相关内容

     ConfigureServices方法里面注入服务,全局添加了Authorize

     1             services.AddSwaggerGen(c =>
     2             {
     3                 // Bearer 的scheme定义
     4                 var securityScheme = new OpenApiSecurityScheme()
     5                 {
     6                     Description = "JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"",
     7                     Name = "Authorization",
     8                     //参数添加在头部
     9                     In = ParameterLocation.Header,
    10                     //使用Authorize头部
    11                     Type = SecuritySchemeType.Http,
    12                     //内容为以 bearer开头
    13                     Scheme = "bearer",
    14                     BearerFormat = "JWT"
    15                 };
    16 
    17                 //把所有方法配置为增加bearer头部信息
    18                 var securityRequirement = new OpenApiSecurityRequirement
    19                 {
    20                     {
    21                             new OpenApiSecurityScheme
    22                             {
    23                                 Reference = new OpenApiReference
    24                                 {
    25                                     Type = ReferenceType.SecurityScheme,
    26                                     Id = "bearerAuth"
    27                                 }
    28                             },
    29                             new string[] {}
    30                     }
    31                 };
    32 
    33                 //注册到swagger中
    34                 c.AddSecurityDefinition("bearerAuth", securityScheme);
    35                 c.AddSecurityRequirement(securityRequirement);
    36                 var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
    37                 var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
    38                 c.IncludeXmlComments(xmlPath);
    39             });

    在Configure方法里面添加中间件

    1             app.UseSwagger();
    2             app.UseSwaggerUI(c =>
    3             {
    4                 c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    5                 c.RoutePrefix = string.Empty;
    6             });

    3、设置:选择项目点击右键-》属性=》生成=》勾选输出下面的XML文档文件的对勾

     4、接口需要按照规范写注释,最终结果如下:

  • 相关阅读:
    iOS 简单获取当前地理坐标
    iOS 企业账号申请证书和打包ipa
    iOS 代码片段的添加!
    iOS 扩展类方法之category!
    iOS 数组和字典排序
    iOS 字符串NSString 的一些常用方法
    iOS 一些常见问题
    iOS 数据库sqlite完整增删改查操作
    iOS pch文件的创建
    iOS 通过网络请求获取图片的下载歌曲
  • 原文地址:https://www.cnblogs.com/zhangjd/p/14750995.html
Copyright © 2011-2022 走看看