Swashbuckle 和 ASP.NET Core 入门

Swagger UI 提供了基于 Web 的 UI,它使用生成的 OpenAPI 规范提供有关服务的信息。 Swashbuckle 和 NSwag 均包含 Swagger UI 的嵌入式版本,因此可使用中间件注册调用将该嵌入式版本托管在 ASP.NET Core 应用中。 Web UI 如下所示:

控制器中的每个公共操作方法都可以从 UI 中进行测试。 选择方法名称可以展开该部分。 添加所有必要的参数,然后选择“试试看!”。

一、WebAPI 项目中添加 SwaggerUI

从“管理 NuGet 程序包”对话框中:

  • 在搜索框中输入“Swashbuckle.AspNetCore”

Swashbuckle 有三个主要组件(分别引用以下三个组件):

  • Swashbuckle.AspNetCore.Swagger:将 SwaggerDocument 对象公开为 JSON 终结点的 Swagger 对象模型和中间件。

  • Swashbuckle.AspNetCore.SwaggerGen:从路由、控制器和模型直接生成 SwaggerDocument 对象的 Swagger 生成器。 它通常与 Swagger 终结点中间件结合,以自动公开 Swagger JSON。

  • Swashbuckle.AspNetCore.SwaggerUI:Swagger UI 工具的嵌入式版本。 它解释 Swagger JSON 以构建描述 Web API 功能的可自定义的丰富体验。 它包括针对公共方法的内置测试工具。

二、添加并配置 Swagger 中间件

将 Swagger 生成器添加到 Program.cs 中的服务集合:

// Add services to the container.builder.Services.AddControllersWithViews();
builder.Services.AddRazorPages();//SwaggerGen 将生成器添加到服务集合
builder.Services.AddSwaggerGen(c =>
{c.SwaggerDoc("v1",new Microsoft.OpenApi.Models.OpenApiInfo { Title ="Swagger项目",Version ="v1"});
});var app = builder.Build();

在 Program.cs 中,启用中间件为生成的 JSON 文档和 Swagger UI 提供服务:

if (app.Environment.IsDevelopment())
{app.UseWebAssemblyDebugging();app.UseSwagger();//启用中间件为生成的 JSON 文档和 Swagger UI 提供服务app.UseSwaggerUI();//启用中间件为生成的 JSON 文档和 Swagger UI 提供服务
}
else
{app.UseExceptionHandler("/Error");// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.app.UseHsts();
}

仅当将当前环境设置为“开发”时,上述代码才会添加 Swagger 中间件。 UseSwaggerUI 方法调用启用了静态文件中间件。

启动应用,可在 https://localhost:<port>/swagger 找到 Swagger UI。 通过 Swagger UI 浏览 API

导航到 https://localhost:<port>/swagger/v1/swagger.json。 生成的描述终结点的文档显示在 OpenAPI 规范 (openapi.json) 中。

Web API 项目中启用 Swagger UI相关推荐

  1. 【转】Web API项目中使用Area对业务进行分类管理

    在之前开发的很多Web API项目中,为了方便以及快速开发,往往把整个Web API的控制器放在基目录的Controllers目录中,但随着业务越来越复杂,这样Controllers目录中的文件就增加 ...

  2. oracle web API,在Web API程序中使用Swagger做接口文档

    #### 创建Web API程序 在VS2019中创建一个ASP.NET Web应用程序,选择Web API来创建RESTful的HTTP服务项目,构选MVC和Web API核心引用. #### 安装 ...

  3. core webapi缩略图_在ASP.NET Core Web API 项目里无法访问(wwwroot)下的文件

    新建 ASP.NET Core Web API 项目 -- RESTFul 风格 Hello World! 一.创建一个空项目 请查看 新建 .NET Core 项目 -- Hello World!  ...

  4. 【WEB API项目实战干货系列】- API登录与身份验证(三)

    上一篇: [WEB API项目实战干货系列]- 接口文档与在线测试(二) 这篇我们主要来介绍我们如何在API项目中完成API的登录及身份认证. 所以这篇会分为两部分, 登录API, API身份验证. ...

  5. ASP.NET Core 2.0 Web API项目升级到ASP.NET Core 3.0概要笔记

    本文结构 先决条件 升级目标框架(Target Framework)的版本 过时的IHostingEnvironment与IApplicationLifetime对象 Endpoint Routing ...

  6. 【WEB API项目实战干货系列】- 接口文档与在线测试(二)

    这一篇我们主要介绍如何做API帮助文档,给API的调用人员介绍各个 API的功能, 输入参数,输出参数, 以及在线测试 API功能(这个也是方便我们自己开发调试) 我们先来看看我们的API最终帮助文档 ...

  7. 我如何启动任何.NET Core Web API项目

    目录 介绍 步骤 在Visual Studio中创建Web API项目 选项1 选项 2 IIS配置 配置Swashbuckle/Swagger 添加Swashbuckle 添加Newtonsoft. ...

  8. ASP.NET创建一个web程序Vs创建一个Web API项目

    ASP.NET创建一个web程序 首先windows+r调出控制台,按照下面的命令创建WebApp应用: dotnet new webapp -o MyWebApp --no-https -f net ...

  9. 国产中标麒麟Linux部署dotnet core 环境并运行项目 (三) 部署运行WEB API项目

    部署dotnet Core Web API 上一步的文章,是我们公司最核心的一个ORM组件,在中标麒麟系统完成了一个插入数据的任务,这一步是将正式的从dot net framework 迁移到 dot ...

最新文章

  1. 华为:5G技术前景堪忧,运营商将很难从5G赚钱
  2. 安装oracle11g后plsql访问,64位Oracle_11g_R2安装+32位Plsql成功登录连接
  3. python在函数内部有没有办法定义全局变量_修改函数内部的全局变量
  4. 【C语言】控制台窗口图形界面编程(三)窗口相关设置
  5. linux多线程信号总结
  6. jeesite1.X 集成多数据源
  7. 5g时代计算机网络过时,5g云电脑 取代主机(5g时代云电脑会普及吗)
  8. nodejs后端使用art-template
  9. 抖音电商发布创作者管理总则 近八万名带货达人因违规被罚
  10. 修改ip和计算机名,批量设置IP地址和计算机名
  11. python批量获取百度贴吧_python网络爬虫案例:批量爬取百度贴吧页面数据
  12. 如何自己搭建外卖红包平台,操作外卖CPS佣金提成实现躺赚?
  13. “职业丑人”:大公司雇“职业杀手”大裁员
  14. 渗透测试-弱点扫描工具
  15. 微信小程序的text 的换行
  16. 可导区间中的唯一驻点一定是极值点吗?
  17. 如何制作手机上图文并茂的加密电子书?
  18. Spring MVC ModelAndView 简述
  19. 公开课 | 解密HW究竟怎么玩?之 第一篇
  20. 安装JDK,配置环境变量,测试JDK是否安装完成

热门文章

  1. 页面滚动时触发动画特效 wow.js + Animate.css
  2. C++编程练习6--写一个函数验证哥德巴赫猜想
  3. CoreDNS 健康检查详解
  4. 我以为面试官要问我八股文,可惜大意了没有闪之场景题
  5. IT行业干什么最赚钱
  6. 西门子real是什么数据类型_西门子S7-1500 PLC的基本数据类型
  7. 安装teleport 堡垒机服务器-基于v3.2.2版
  8. C#盯盘小工具,“监”
  9. 云脉档案管理软件,档案加工快人一步
  10. 安妮·莱博维茨摄影作品集