除了Swagger UI,你还能选择 IGeekFan.AspNetCore.RapiDoc
IGeekFan.AspNetCore.RapiDoc
< ad8 /p> 看到博客园上的这个文章,说了下Knife4J,评论里有人推荐RapiDoc,放了几个图,看了下,还不错。
心里 便有个想法,借着上次研究 Knife4j,封装了IGeekFan.AspNetCore.Knife4jUI。这次也实现一个 IGeekFan.AspNetCore.RapiDoc
RapiDoc
一个实现了Swagger 2.0 and OpenAPI 3.0,适用于任何框架或没有框架的API文档.我将其集成到 AspNetCore 中。
RapiDoc Custom Element for Open-API spec viewing , IGeekFan.AspNetCore.RapiDoc 支持 .NET Core3.1 、.NET Standard2.0、.NET5.0。
特性
- 支持 Swagger 2.0 and OpenAPI 3.0
- 适用 于任何 框架,所以这里能直接配置 ASP.NET CORE
- 体积上真的更小,速度更快,大量的自定义配置项,目前自定义配置,还有待完成,当前是最基础版本v0.0.1.
- 支持本地json 文件
相关依赖项
完整特点,看RADEME RapiDoc
- rapidoc^8.4.9 (版本号)
Swashbuckle.AspNetCore
- Swashbuckle.AspNetCore.Swagger
- Swashbuckle.AspNetCore.SwaggerGen
Demo
📚 快速开始
🚀安装包
以下为使用Swashbuckle.AspNetCore.Swagger底层组件
1.Install the standard Nuget package into your ASP.NET Core application.
56c Package Manager : Install-Package Swashbuckle.AspNetCore.Swagger Install-Package Swashbuckle.AspNetCore.SwaggerGen Install-Package IGeekFan.AspNetCore.RapiDoc OR CLI : dotnet add package Swashbuckle.AspNetCore.Swagger dotnet add package Swashbuckle.AspNetCore.SwaggerGen dotnet add package IGeekFan.AspNetCore.RapiDoc
2.In the ConfigureServices method of Startup.cs, register the Swagger generator, defining one or more Swagger documents.
using Microsoft.AspNetCore.Mvc.Controllers using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; using IGeekFan.AspNetCore.RapiDoc;
🚁 ConfigureServices
3.服务配置
services.AddSwaggerGen(c => { c.SwaggerDoc("v1",new OpenApiInfo{Title = "API V1",Version = "v1"}); });
💪 Configure
- 中间件配置
app.UseSwagger(); app.UseRapiDocUI(c => { c.RoutePrefix = ""; // serve the UI at root c.SwaggerEndpoint("/v1/api-docs", "V1 Docs"); }); app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapSwagger("{documentName}/api-docs"); });
5.更多功能
为文档添加注释 在项目上右键--属性--生成
在AddSwaggerGen方法中添加如下代码
c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, "SwaggerDemo.xml"),true);
最后一个参数设置为true,代表启用控制器上的注释
NSwag.AspNetCore
(请参考目录test/WebSites/NSwag.Swagger.RapiDoc)
public void ConfigureServices(IServiceCollection services) { // 其它Service services.AddOpenApiDocument(); }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { // 其它 Use app.UseOpenApi(); app.UseRapiDocUI(c => { c.RoutePrefix = ""; c.SwaggerEndpoint("/swagger/v1/swagger.json"); }); }
即可使用 RapiDoc
🔎 效果图
运行项目,打开 https://localhost:5001/index.html#/home
更多配置请参考
Github和Demo
- .NetCore——WebApi_Swagger(Swashbuckle.AspNetCore)配置
- Asp.net Core WebApi 使用Swagger做帮助文档,并且自定义Swagger的UI
- AspNetCore+Swagger 生成Model 描述
- 终于放弃了单调的swagger-ui了,选择了这款神器—knife4j
- 主攻ASP.NET.4.5.1 MVC5.0之重生:创建UIHelper通用自定义分页和选择开关与PagesHelper和IsSelect简单用法
- AspnetCore WebApi使用Swagger简单入门
- .NetCore WebApi利用Swagger文档实现选择文件上传
- 学习ASP.NET Core, 怎能不了解请求处理管道[5]: 中间件注册可以除了可以使用Startup之外,还可以选择StartupFilter
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中
- ASP.NET MVC页面UI之多级数据选择UI(行业信息、专业信息、职位信息的选择)
- ASP.NET MVC页面UI之联动下拉选择控件(省、市、县联动选择)
- 【博客话题】IT人,你肿么了? ——除了IT,你还能选择什么? 推荐
- asp.net core使用Swashbuckle.AspNetCore(swagger)生成接口文档
- 8天入门docker系列 —— 第二天 通过一个aspnetcore程序加深对容器的理解
- SpringMVC+Swagger UI生成可视图的API文档(详细图解)
- Flutter 侧滑栏及城市选择UI的实现方法
- ASP.NET jQuery 随笔 从DropDownList获取选择的text和value值
- ASP.NET弹出式日历选择控件的实现
- asp.net导出到Excel的最佳选择
- 从零开始前端学习[25]:万一你没有UI美工的时候,就要选择阿里矢量图了