Add OpenAPI and Swagger support

Fix for async Task flows, using deferred results
This commit is contained in:
2025-05-22 15:38:07 +02:00
parent c429a55e8e
commit 48758ef5e1
4 changed files with 265 additions and 90 deletions
@@ -12,6 +12,9 @@ public static class Constants
public const string IntType = "int";
public const string ObjectType = "object";
public const string Default = "default";
public const string Typeof = "typeof";
public const string Readonly = "readonly";
public const string Async = "async";
public const string Namespace = "Net.Sdk.Web";
public const string UsingSystemThreading = "System.Threading";
public const string UsingSystemRuntimeCompilerServices = "System.Runtime.CompilerServices";
@@ -81,9 +84,38 @@ public static class Constants
public const string RouteFilterAttributeShortName = "RouteFilter";
public const string RouteFilterTypePropertyName = "RouteFilterType";
public const string DeferredResultClass = "DeferredResult";
public const string IResultInterface = "IResult";
public const string Task = "Task";
public const string ExecuteAsyncMethodName = "ExecuteAsync";
public const string T = "T";
public const string IEndpointFilterName = "IEndpointFilter";
public const string MethodImplAttribute = "MethodImpl";
public const string MethodImplArgument = "MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization | MethodImplOptions.PreserveSig";
public const string ProducesResponseTypeType = "Microsoft.AspNetCore.Mvc.ProducesResponseTypeAttribute";
public const string OpenApiConvetionBuilderExtensionsType = "Microsoft.AspNetCore.Builder.OpenApiEndpointConventionBuilderExtensions";
public const string EndpointNameAttributeName = "EndpointNameAttribute";
public const string EndpointNameAttributeShortName = "EndpointName";
public const string WithNameExtension = "WithName";
public const string EndpointSummaryAttributeName = "EndpointSummaryAttribute";
public const string EndpointSummaryAttributeShortName = "EndpointSummary";
public const string WithSummaryExtension = "WithSummary";
public const string EndpointDescriptionAttributeName = "EndpointDescriptionAttribute";
public const string EndpointDescriptionAttributeShortName = "EndpointDescription";
public const string WithDescriptionExtension = "WithDescription";
public const string ProducesAttributeName = "ProducesAttribute";
public const string ProducesAttributeShortName = "Produces";
public const string ProducesResponseTypeAttributeName = "ProducesResponseTypeAttribute";
public const string ProducesResponseTypeAttributeShortName = "ProducesResponseType";
public const string AuthorizeAttributeName = "AuthorizeAttribute";
public const string AuthorizeAttributeShortName = "Authorize";
public const string RequiresAuthorization = "RequireAuthorization";
public const string WithOpenApiExtension = "WithOpenApi";
public const string Default200Status = "StatusCodes.Status200OK";
}