mirror of
https://github.com/nsnail/IGeekFan.AspNetCore.Knife4jUI.git
synced 2025-04-16 20:02:52 +08:00
93 lines
3.1 KiB
Markdown
93 lines
3.1 KiB
Markdown
# IGeekFan.AspNetCore.Knife4jUI
|
||
|
||
一个swagger ui 库:**[knife4j UI](https://gitee.com/xiaoym/knife4j)**,支持 .NET Core3.0+或.NET Standard2.0。
|
||
|
||
|
||
[](https://www.nuget.org/packages/IGeekFan.AspNetCore.Knife4jUI) [](https://www.nuget.org/stats/packages/IGeekFan.AspNetCore.Knife4jUI?groupby=Version) [](https://raw.githubusercontent.com/luoyunchong/IGeekFan.AspNetCore.Knife4jUI/master/LICENSE.txt)
|
||
|
||
## 相关依赖项
|
||
### [knife4j](https://gitee.com/xiaoym/knife4j)
|
||
- knife4j-vue-v3(不是vue3,而是swagger-ui-v3版本)
|
||
### [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)
|
||
- Swashbuckle.AspNetCore.Swagger
|
||
- Swashbuckle.AspNetCore.SwaggerGen
|
||
|
||
## Demo
|
||
- [Basic](https://github.com/luoyunchong/IGeekFan.AspNetCore.Knife4jUI/blob/master/test/Basic)
|
||
- [Knife4jUIDemo](https://github.com/luoyunchong/IGeekFan.AspNetCore.Knife4jUI/blob/master/test/Knife4jUIDemo)
|
||
|
||
## 📚 快速开始
|
||
|
||
### 🚀安装包
|
||
|
||
1.Install the standard Nuget package into your ASP.NET Core application.
|
||
|
||
```
|
||
Package Manager : Install-Package IGeekFan.AspNetCore.Knife4jUI
|
||
CLI : dotnet add package IGeekFan.AspNetCore.Knife4jUI
|
||
```
|
||
|
||
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.Knife4jUI;
|
||
```
|
||
### 🚁 ConfigureServices
|
||
|
||
3.服务配置,CustomOperationIds和AddServer是必须的。
|
||
```
|
||
services.AddSwaggerGen(c =>
|
||
{
|
||
c.SwaggerDoc("v1",new OpenApiInfo{Title = "API V1",Version = "v1"});
|
||
c.AddServer(new OpenApiServer()
|
||
{
|
||
Url = "",
|
||
Description = "vvv"
|
||
});
|
||
c.CustomOperationIds(apiDesc =>
|
||
{
|
||
var controllerAction = apiDesc.ActionDescriptor as ControllerActionDescriptor;
|
||
return controllerAction.ControllerName+"-"+controllerAction.ActionName;
|
||
});
|
||
});
|
||
```
|
||
|
||
### 💪 Configure
|
||
4. 中间件配置
|
||
```
|
||
app.UseSwagger();
|
||
|
||
app.UseKnife4UI(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");
|
||
});
|
||
```
|
||
|
||
|
||
### 🔎 效果图
|
||
运行项目,打开 https://localhost:5001/index.html#/home
|
||
|
||

|
||
|
||
|
||
### 更多配置请参考
|
||
|
||
- [https://github.com/domaindrivendev/Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)
|
||
|
||
|
||
### 更多项目
|
||
|
||
- [https://api.igeekfan.cn/swagger/index.html](https://api.igeekfan.cn/swagger/index.html)
|
||
- [https://github.com/luoyunchong/lin-cms-dotnetcore](https://github.com/luoyunchong/lin-cms-dotnetcore)
|
||

|