1 using Microsoft.OpenApi;
2 using Microsoft.OpenApi.Interfaces;
3 using Microsoft.OpenApi.Models;
4 using Microsoft.OpenApi.Writers;
25 this.enumType = enumType ??
throw new ArgumentNullException(nameof(enumType));
33 public static void Apply(OpenApiSchema openApiSchema, Type enumType)
35 if (openApiSchema == null)
36 throw new ArgumentNullException(nameof(openApiSchema));
42 public void Write(IOpenApiWriter writer, OpenApiSpecVersion specVersion)
45 throw new ArgumentNullException(nameof(writer));
47 if (specVersion != OpenApiSpecVersion.OpenApi3_0)
48 throw new InvalidOperationException(
"This extension only applies to OpenAPI 3.0!");
50 writer.WriteStartArray();
51 foreach (var enumValue
in Enum.GetValues(enumType))
52 writer.WriteValue(enumValue.ToString());
54 writer.WriteEndArray();
Use server authentication
void Write(IOpenApiWriter writer, OpenApiSpecVersion specVersion)
readonly Type enumType
The Type of the Enum being described.
OpenApiEnumVarNamesExtension(Type enumType)
Initializes a new instance of the OpenApiEnumVarNamesExtension .
static void Apply(OpenApiSchema openApiSchema, Type enumType)
Applies the extension to a give openApiSchema .
Implements the "x-enum-varnames" OpenAPI 3.0 extension.