ASP.NET CORE NSwag的Swagger

使用NSwag.AspNetCore启用swagger:微软官网介绍的入门方法

NSwag 提供了下列功能:

  • 能够使用 Swagger UI 和 Swagger 生成器。
  • 灵活的代码生成功能。

借助 NSwag,无需使用现有 API。也就是说,可使用包含 Swagger 的第三方 API,并生成客户端实现。 使用 NSwag,可以加快开发周期,并轻松适应 API 更改。

 

   在 Startup.ConfigureServices 方法中,注册所需的 Swagger 服务:

public void ConfigureServices(IServiceCollection services)
 {
    services.AddSwaggerDocument();
    //swagger
    services.AddControllers();
 }

在 Startup.Configure 方法中,启用中间件为生成的 Swagger 规范和 Swagger UI 提供服务:

public void Configure(IApplicationBuilder app)
{
    app.UseStaticFiles();

    // Register the Swagger generator and the Swagger UI middlewares
    app.UseOpenApi();
    app.UseSwaggerUi3();

    app.UseMvc();
}

启动应用。 转到:

  • http://localhost:<port>/swagger,以查看 Swagger UI。
  • http://localhost:<port>/swagger/v1/swagger.json,以查看 Swagger 规范。

 

实现登录认证token的输入

   在 Startup.ConfigureServices 方法中

public void ConfigureServices(IServiceCollection services)
 {
    //services.AddSwaggerDocument(); 加了JWT授权,这行代码需要去掉
    services.AddOpenApiDocument(settings =>
   {
      settings.AddSecurity("身份认证Token", Enumerable.Empty<string>(), new NSwag.OpenApiSecurityScheme()
     {
      Description = "JWT授权(数据将在请求头中进行传输) 直接在下框中输入Bearer {token}(注意两者之间是一个空格)",
      Name = "Authorization",
      In = NSwag.OpenApiSecurityApiKeyLocation.Header,
      Type = NSwag.OpenApiSecuritySchemeType.ApiKey
    });
   });
    services.AddControllers();
 }

 

 

 

posted @ 2020-08-31 23:05  黑色老猫。  阅读(572)  评论(0编辑  收藏  举报