1. 项目中配置NSwag
我们新建一个项目命名为AspNetCore.NSwag,在项目中添加NSwag.AspNetCore NuGet包
运行应用程序,访问如下地址:
https://localhost:<port>/swagger/v1/swagger.json
2.自定义和拓展
2.1 API描述信息
在Program.cs类中更新AddOpenApiDocument方法并配置API文档包含更多的信息,例如:作者,许可证,描述等
这里需要注意OpenApiInfo这个类,在这里我们使用的是NSwag命名空间下,而不是Microsoft.OpenApi.Models这个命名空间下,我们看到我们信息被添加到了页面上面:
在项目中启用xml描述:
启用之后我们会发现产生警告:
针对特定成员禁用警告,可以使用#pragma warning 预处理指令将代码括起来:
接着我们在ProducesResponseType特性来说明Create的api返回的状态码:
运行程序我们来查看一下Swagger UI会生成什么样子
3.Redoc
redoc使用OpenAPI的标准为Web API提供了一个文档的页面,用它可以替换Swagger UI,它两不同的是Redoc UI更多的聚焦在文档上,而没有提供在页面上测试api的功能,我们在项目中使用该文档
运行应用程序导航到如下地址https://localhost:<port>/redo
我们可以看到页面上确实没有交互文档,仅仅是一些API展示,有关redoc文档请查看:https://github.com/RicoSuter/NSwag
本文暂时没有评论,来添加一个吧(●'◡'●)