瀏覽代碼

优化Knife4 UI与Swagger共存问题

zuohuaijun 3 年之前
父節點
當前提交
df2b37e083
共有 2 個文件被更改,包括 9 次插入5 次删除
  1. 1 1
      Admin.NET/Admin.NET.Core/AdminNETConfig.json
  2. 8 4
      Admin.NET/Admin.NET.Web.Core/Startup.cs

+ 1 - 1
Admin.NET/Admin.NET.Core/AdminNETConfig.json

@@ -18,7 +18,7 @@
       },
       {
         "Group": "All Groups",
-        "Title": "Admin.NET",
+        "Title": "所有接口",
         "Description": "让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>",
         "Version": "1.0.0",
         "TermsOfService": "https://dotnetchina.gitee.io/furion/",

+ 8 - 4
Admin.NET/Admin.NET.Web.Core/Startup.cs

@@ -1,6 +1,7 @@
 using Admin.NET.Core;
 using AspNetCoreRateLimit;
 using Furion;
+using Furion.SpecificationDocument;
 using IGeekFan.AspNetCore.Knife4jUI;
 using Microsoft.AspNetCore.Builder;
 using Microsoft.AspNetCore.Hosting;
@@ -173,11 +174,14 @@ public class Startup : AppStartup
         app.UseAuthentication();
         app.UseAuthorization();
 
-        // 配置Swagger-Knife4UI
-        app.UseKnife4UI(c =>
+        // 配置Swagger-Knife4UI(路由前缀一致代表独立版本配置)
+        app.UseKnife4UI(options =>
         {
-            c.RoutePrefix = "";
-            c.SwaggerEndpoint($"/swagger/All Groups/swagger.json", "接口文档");
+            options.RoutePrefix = string.Empty;
+            foreach (var groupInfo in SpecificationDocumentBuilder.GetOpenApiGroups())
+            {
+                options.SwaggerEndpoint("/" + groupInfo.RouteTemplate, groupInfo.Title);
+            }
         });
 
         app.UseInject(string.Empty);