Swagger是什么
Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。
当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。
Swagger 的优势
- 支持 API 自动生成同步的在线文档:使用 Swagger 后可以直接通过代码生成文档,不再需要自己手动编写接口文档。
- 提供 Web 页面在线测试 API:Swagger 生成的文档还支持在线测试。参数和格式都定好了,直接在界面上输入参数对应的值即可在线测试接口。
当然微软官方也提供了相应NSwag入门教程
本篇主要记录.Net core web应用程序 基于3.1版本使用NSwag配置Swagger
如果有不对的地方欢迎指正
首先创建一个.Net core web应用程序 如下
1.安装NSwag.AspNetCore
管理NuGet程序包 ,安装 NSwag.AspNetCore, 建议安装最新版本
2.Startup.cs的配置及简单demo
1.在 Startup.ConfigureServices 方法中,注册所需的 Swagger 服务
public void ConfigureServices(IServiceCollection services)
{
//注入mvc
services.AddControllersWithViews();
// 注册 swagger 服务
services.AddOpenApiDocument(settings =>
{
settings.DocumentName = "v1";
settings.Version = "v0.0.1";
settings.Title = "测试项目";
settings.Description = "接口文档说明";
//可以设置从注释文件加载,但是加载的内容可被OpenApiTagAttribute特性覆盖
settings.UseControllerSummaryAsTagDescription = true;
});
}
2.在 Startup.Configure 方法中,启用中间件为生成的 Swagger 规范和 Swagger UI 提供服务
app.UseOpenApi(); //添加swagger生成api文档(默认路由文档 /swagger/v1/swagger.json)
app.UseSwaggerUi3();//添加Swagger UI到请求管道中(默认路由: /swagger).
3.创建一个接口demo
/// <summary>
/// 测试相关
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
/// <summary>
/// 测试接口
/// </summary>
/// <param name="Name"></param>
/// <returns></returns>
[HttpPost,Route("Test")]
public string Test(string Name)
{
return "Hello " + Name;
}
}
4.右键项目 属性=》切换到生成(Build),在最下面输出输出中勾选【XML文档文件】
5.运行项目效果如下
输入 :https://localhost:端口/swagger/index.html
好了,本文就简单介绍到这里了