Skip to content

Commit aa17759

Browse files
committed
More refactoring
1 parent 499fcf8 commit aa17759

2 files changed

Lines changed: 13 additions & 19 deletions

File tree

Common/OpenApi/OpenApiSchemaReferenceIdUtil.cs renamed to Common/OpenApi/OpenApiSchemaUtils.cs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
using OpenShock.Common.Models;
1+
using Microsoft.AspNetCore.OpenApi;
2+
using OpenShock.Common.Models;
23
using System.Text.Json.Serialization.Metadata;
34

45
namespace OpenShock.Common.OpenApi;
56

6-
public static class OpenApiSchemaReferenceIdUtil
7+
public static class OpenApiSchemaUtils
78
{
89
private static readonly HashSet<Type> CollectionTypes =
910
[
@@ -67,7 +68,7 @@ private static bool IsSystemType(Type type)
6768
return type.Name + suffix;
6869
}
6970

70-
public static string? GetFriendlyName(Type type)
71+
private static string? GetFriendlyName(Type type)
7172
{
7273
if (IsSystemType(type)) return null;
7374

@@ -76,8 +77,13 @@ private static bool IsSystemType(Type type)
7677

7778
return type.Name;
7879
}
79-
public static string? GetFriendlyName(JsonTypeInfo jsonTypeInfo)
80+
81+
82+
public static void ConfigureOptions(OpenApiOptions options)
8083
{
81-
return GetFriendlyName(jsonTypeInfo.Type);
84+
options.CreateSchemaReferenceId = (jsonTypeInfo) => GetFriendlyName(jsonTypeInfo.Type);
85+
86+
options.AddDocumentTransformer<OpenApiDocumentTransformer>();
87+
options.AddOperationTransformer<OpenApiOperationTransformer>();
8288
}
8389
}

Common/OpenShockServiceHelper.cs

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -119,20 +119,8 @@ public static IServiceCollection AddOpenShockServices(this IServiceCollection se
119119
x.JsonSerializerOptions.Converters.Add(new CustomJsonStringEnumConverter());
120120
});
121121

122-
services.AddOpenApi("1", options =>
123-
{
124-
options.CreateSchemaReferenceId = OpenApiSchemaReferenceIdUtil.GetFriendlyName;
125-
126-
options.AddDocumentTransformer<OpenApiDocumentTransformer>();
127-
options.AddOperationTransformer<OpenApiOperationTransformer>();
128-
});
129-
services.AddOpenApi("2", options =>
130-
{
131-
options.CreateSchemaReferenceId = OpenApiSchemaReferenceIdUtil.GetFriendlyName;
132-
133-
options.AddDocumentTransformer<OpenApiDocumentTransformer>();
134-
options.AddOperationTransformer<OpenApiOperationTransformer>();
135-
});
122+
services.AddOpenApi("1", OpenApiSchemaUtils.ConfigureOptions);
123+
services.AddOpenApi("2", OpenApiSchemaUtils.ConfigureOptions);
136124

137125
var apiVersioningBuilder = services.AddApiVersioning(options =>
138126
{

0 commit comments

Comments
 (0)