From 060a73c9d13f6785474594307cb9fa2ca67f501e Mon Sep 17 00:00:00 2001
From: Alone <2364698494@qq.com>
Date: Sat, 21 Aug 2021 00:58:16 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8E=9F=E6=9C=AC?=
=?UTF-8?q?=E9=BB=98=E8=AE=A4=E7=9A=84EnumSchemaFilter=20=E5=8E=9F?=
=?UTF-8?q?=E6=9C=AC=E7=9A=84=20=E5=A4=87=E6=B3=A8=20=E5=90=8D=E7=A7=B0=3D?=
=?UTF-8?q?=E5=90=8D=E7=A7=B0=20=E5=B9=B6=E4=B8=8D=E8=83=BD=E6=B8=85?=
=?UTF-8?q?=E6=99=B0=E7=9C=8B=E6=B8=85=E6=98=A0=E5=B0=84=20=E6=9B=B4?=
=?UTF-8?q?=E6=94=B9=E4=B8=BA=20=E5=A4=87=E6=B3=A8=20=E5=90=8D=E7=A7=B0=3D?=
=?UTF-8?q?=E5=80=BC=20=E6=9B=B4=E6=94=B9Swagger=E7=9A=84=E9=BB=98?=
=?UTF-8?q?=E8=AE=A4=E6=B3=A8=E5=85=A5SchemaFilter=E5=92=8CDocumentFilter?=
=?UTF-8?q?=20=E5=8F=AF=E4=BB=A5=E9=80=9A=E8=BF=87=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E8=BF=9B=E8=A1=8C=E5=8E=BB=E9=99=A4=E9=BB=98=E8=AE=A4=E7=9A=84?=
=?UTF-8?q?=E6=8B=A6=E6=88=AA=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
framework/Furion/App/Options/AppSettingsOptions.cs | 14 ++++++++++++++
.../Builders/SpecificationDocumentBuilder.cs | 6 ++++--
.../Filters/EnumSchemaFilter.cs | 5 +++--
3 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/framework/Furion/App/Options/AppSettingsOptions.cs b/framework/Furion/App/Options/AppSettingsOptions.cs
index e4ba8f57c0..dfbeeffcd6 100644
--- a/framework/Furion/App/Options/AppSettingsOptions.cs
+++ b/framework/Furion/App/Options/AppSettingsOptions.cs
@@ -28,6 +28,16 @@ namespace Furion
///
public bool? InjectSpecificationDocument { get; set; }
+ ///
+ /// 是否启用默认Swagger枚举说明
+ ///
+ public bool? InjectEnumSchemaFilter { get; set; }
+
+ ///
+ /// 是否启用默认Swagger枚举说明
+ ///
+ public bool? InjectTagsOrderDocumentFilter { get; set; }
+
///
/// 是否启用引用程序集扫描
///
@@ -71,6 +81,10 @@ namespace Furion
else options.InjectMiniProfiler ??= true;
options.InjectSpecificationDocument ??= true;
+
+ options.InjectEnumSchemaFilter ??= true;
+ options.InjectTagsOrderDocumentFilter ??= true;
+
options.EnabledReferenceAssemblyScan ??= false;
options.ExternalAssemblies ??= Array.Empty();
options.PrintDbConnectionInfo ??= true;
diff --git a/framework/Furion/SpecificationDocument/Builders/SpecificationDocumentBuilder.cs b/framework/Furion/SpecificationDocument/Builders/SpecificationDocumentBuilder.cs
index 4a78c000d5..1361b27528 100644
--- a/framework/Furion/SpecificationDocument/Builders/SpecificationDocumentBuilder.cs
+++ b/framework/Furion/SpecificationDocument/Builders/SpecificationDocumentBuilder.cs
@@ -157,10 +157,12 @@ namespace Furion.SpecificationDocument
ConfigureSecurities(swaggerGenOptions);
//使得 Swagger 能够正确地显示 Enum 的对应关系
- swaggerGenOptions.SchemaFilter();
+ if (App.Settings.InjectEnumSchemaFilter == true)
+ swaggerGenOptions.SchemaFilter();
// 支持控制器排序操作
- swaggerGenOptions.DocumentFilter();
+ if (App.Settings.InjectTagsOrderDocumentFilter == true)
+ swaggerGenOptions.DocumentFilter();
// 自定义配置
configure?.Invoke(swaggerGenOptions);
diff --git a/framework/Furion/SpecificationDocument/Filters/EnumSchemaFilter.cs b/framework/Furion/SpecificationDocument/Filters/EnumSchemaFilter.cs
index c9d1f5aa8f..55744aaef9 100644
--- a/framework/Furion/SpecificationDocument/Filters/EnumSchemaFilter.cs
+++ b/framework/Furion/SpecificationDocument/Filters/EnumSchemaFilter.cs
@@ -61,8 +61,9 @@ namespace Furion.SpecificationDocument
var fieldinfo = type.GetField(Enum.GetName(type, value));
var descriptionAttribute = fieldinfo.GetCustomAttribute(true);
model.Enum.Add(OpenApiAnyFactory.CreateFromJson(_serializerProvider.Serialize(value)));
-
- stringBuilder.Append($" {descriptionAttribute?.Description} {value} = {value}
");
+ //更改枚举显示
+ //描述 名称 = 值
+ stringBuilder.Append($" {descriptionAttribute?.Description} {value} = {Convert.ToInt32(value)}
");
}
model.Description = stringBuilder.ToString();
}
--
Gitee
From 47a98bea095ed697e12c7e5d3426dee20cbd3699 Mon Sep 17 00:00:00 2001
From: Alone <2364698494@qq.com>
Date: Sat, 21 Aug 2021 01:16:38 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=A4=87=E6=B3=A8=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
framework/Furion/App/Options/AppSettingsOptions.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/framework/Furion/App/Options/AppSettingsOptions.cs b/framework/Furion/App/Options/AppSettingsOptions.cs
index dfbeeffcd6..1046158a33 100644
--- a/framework/Furion/App/Options/AppSettingsOptions.cs
+++ b/framework/Furion/App/Options/AppSettingsOptions.cs
@@ -34,7 +34,7 @@ namespace Furion
public bool? InjectEnumSchemaFilter { get; set; }
///
- /// 是否启用默认Swagger枚举说明
+ /// 是否启用默认Swagger标签文档排序拦截器
///
public bool? InjectTagsOrderDocumentFilter { get; set; }
--
Gitee