Documentation for the aspnetcore Generator
METADATA
| Property | Value | Notes | 
|---|---|---|
| generator name | aspnetcore | pass this to the generate command after -g | 
| generator stability | STABLE | |
| generator type | SERVER | |
| generator language | C# | |
| generator default templating engine | mustache | |
| helpTxt | Generates an ASP.NET Core Web API server. | 
CONFIG OPTIONS
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to configuration docs for more details.
| Option | Description | Values | Default | 
|---|---|---|---|
| aspnetCoreVersion | ASP.NET Core version: 6.0, 5.0, 3.1, 3.0, 2.2, 2.1, 2.0 (deprecated) | 
  | 3.1 | 
| buildTarget | Target to build an application or library | 
  | program | 
| classModifier | Class Modifier for controller classes: Empty string or abstract. | ||
| compatibilityVersion | ASP.Net Core CompatibilityVersion | Version_2_2 | |
| enumNameSuffix | Suffix that will be appended to all enum names. | Enum | |
| enumValueSuffix | Suffix that will be appended to all enum values. | Enum | |
| generateBody | Generates method body. | true | |
| isLibrary | Is the build a library | false | |
| licenseName | The name of the license | NoLicense | |
| licenseUrl | The URL of the license | http://localhost | |
| modelClassModifier | Model Class Modifier can be nothing or partial | partial | |
| newtonsoftVersion | Version for Microsoft.AspNetCore.Mvc.NewtonsoftJson for ASP.NET Core 3.0+ | 3.0.0 | |
| nullableReferenceTypes | Use nullable annotations in the project. Only supported on C# 8 / ASP.NET Core 3.1 or newer. | false | |
| operationIsAsync | Set methods to async or sync (default). | false | |
| operationModifier | Operation Modifier can be virtual or abstract | 
  | virtual | 
| operationResultTask | Set methods result to Task<>. | false | |
| packageAuthors | Specifies Authors property in the .NET Core project file. | OpenAPI | |
| packageCopyright | Specifies an AssemblyCopyright for the .NET Framework global assembly attributes stored in the AssemblyInfo file. | No Copyright | |
| packageDescription | Specifies a AssemblyDescription for the .NET Framework global assembly attributes stored in the AssemblyInfo file. | A library generated from a OpenAPI doc | |
| packageGuid | The GUID that will be associated with the C# project | null | |
| packageName | C# package name (convention: Title.Case). | Org.OpenAPITools | |
| packageTitle | Specifies an AssemblyTitle for the .NET Framework global assembly attributes stored in the AssemblyInfo file. | OpenAPI Library | |
| packageVersion | C# package version. | 1.0.0 | |
| returnICollection | Return ICollection<T> instead of the concrete type. | false | |
| sortParamsByRequiredFlag | Sort method arguments to place required parameters before optional parameters. | true | |
| sourceFolder | source folder for generated code | src | |
| swashbuckleVersion | Swashbuckle version: 3.0.0, 4.0.0, 5.0.0, 6.0.0 | 
  | 3.0.0 | 
| useCollection | Deserialize array types to Collection<T> instead of List<T>. | false | |
| useDateTimeOffset | Use DateTimeOffset to model date-time properties | false | |
| useDefaultRouting | Use default routing for the ASP.NET Core version. | true | |
| useFrameworkReference | Use frameworkReference for ASP.NET Core 3.0+ and PackageReference ASP.NET Core 2.2 or earlier. | false | |
| useNewtonsoft | Uses the Newtonsoft JSON library. | true | |
| useSwashbuckle | Uses the Swashbuckle.AspNetCore NuGet package for documentation. | true | 
IMPORT MAPPING
| Type/Alias | Imports | 
|---|
INSTANTIATION TYPES
| Type/Alias | Instantiated By | 
|---|---|
| array | List | 
| list | List | 
| map | Dictionary | 
LANGUAGE PRIMITIVES
- Boolean
 - Collection
 - DateTime
 - DateTime?
 - DateTimeOffset
 - DateTimeOffset?
 - Decimal
 - Dictionary
 - Double
 - Float
 - Guid
 - Guid?
 - ICollection
 - Int32
 - Int64
 - List
 - Object
 - String
 - System.IO.Stream
 - bool
 - bool?
 - byte[]
 - decimal
 - decimal?
 - double
 - double?
 - float
 - float?
 - int
 - int?
 - long
 - long?
 - string
 
RESERVED WORDS
- Client
 - Configuration
 - Version
 - abstract
 - as
 - async
 - await
 - base
 - bool
 - break
 - byte
 - case
 - catch
 - char
 - checked
 - class
 - client
 - const
 - continue
 - decimal
 - default
 - delegate
 - do
 - double
 - dynamic
 - else
 - enum
 - event
 - explicit
 - extern
 - false
 - finally
 - fixed
 - float
 - for
 - foreach
 - goto
 - if
 - implicit
 - in
 - int
 - interface
 - internal
 - is
 - localVarFileParams
 - localVarFormParams
 - localVarHeaderParams
 - localVarHttpContentType
 - localVarHttpContentTypes
 - localVarHttpHeaderAccept
 - localVarHttpHeaderAccepts
 - localVarPath
 - localVarPathParams
 - localVarPostBody
 - localVarQueryParams
 - localVarResponse
 - localVarStatusCode
 - lock
 - long
 - namespace
 - new
 - null
 - object
 - operator
 - out
 - override
 - parameter
 - params
 - private
 - protected
 - public
 - readonly
 - ref
 - return
 - sbyte
 - sealed
 - short
 - sizeof
 - stackalloc
 - static
 - string
 - struct
 - switch
 - this
 - throw
 - true
 - try
 - typeof
 - uint
 - ulong
 - unchecked
 - unsafe
 - ushort
 - using
 - var
 - virtual
 - void
 - volatile
 - while
 - yield
 
FEATURE SET
Client Modification Feature
| Name | Supported | Defined By | 
|---|---|---|
| BasePath | ✗ | ToolingExtension | 
| Authorizations | ✗ | ToolingExtension | 
| UserAgent | ✗ | ToolingExtension | 
| MockServer | ✗ | ToolingExtension | 
Data Type Feature
| Name | Supported | Defined By | 
|---|---|---|
| Custom | ✗ | OAS2,OAS3 | 
| Int32 | ✓ | OAS2,OAS3 | 
| Int64 | ✓ | OAS2,OAS3 | 
| Float | ✓ | OAS2,OAS3 | 
| Double | ✓ | OAS2,OAS3 | 
| Decimal | ✓ | ToolingExtension | 
| String | ✓ | OAS2,OAS3 | 
| Byte | ✓ | OAS2,OAS3 | 
| Binary | ✓ | OAS2,OAS3 | 
| Boolean | ✓ | OAS2,OAS3 | 
| Date | ✓ | OAS2,OAS3 | 
| DateTime | ✓ | OAS2,OAS3 | 
| Password | ✓ | OAS2,OAS3 | 
| File | ✓ | OAS2 | 
| Array | ✓ | OAS2,OAS3 | 
| Maps | ✓ | ToolingExtension | 
| CollectionFormat | ✓ | OAS2 | 
| CollectionFormatMulti | ✓ | OAS2 | 
| Enum | ✓ | OAS2,OAS3 | 
| ArrayOfEnum | ✓ | ToolingExtension | 
| ArrayOfModel | ✓ | ToolingExtension | 
| ArrayOfCollectionOfPrimitives | ✓ | ToolingExtension | 
| ArrayOfCollectionOfModel | ✓ | ToolingExtension | 
| ArrayOfCollectionOfEnum | ✓ | ToolingExtension | 
| MapOfEnum | ✓ | ToolingExtension | 
| MapOfModel | ✓ | ToolingExtension | 
| MapOfCollectionOfPrimitives | ✓ | ToolingExtension | 
| MapOfCollectionOfModel | ✓ | ToolingExtension | 
| MapOfCollectionOfEnum | ✓ | ToolingExtension | 
Documentation Feature
| Name | Supported | Defined By | 
|---|---|---|
| Readme | ✓ | ToolingExtension | 
| Model | ✓ | ToolingExtension | 
| Api | ✓ | ToolingExtension | 
Global Feature
| Name | Supported | Defined By | 
|---|---|---|
| Host | ✓ | OAS2,OAS3 | 
| BasePath | ✓ | OAS2,OAS3 | 
| Info | ✓ | OAS2,OAS3 | 
| Schemes | ✗ | OAS2,OAS3 | 
| PartialSchemes | ✓ | OAS2,OAS3 | 
| Consumes | ✓ | OAS2 | 
| Produces | ✓ | OAS2 | 
| ExternalDocumentation | ✓ | OAS2,OAS3 | 
| Examples | ✓ | OAS2,OAS3 | 
| XMLStructureDefinitions | ✗ | OAS2,OAS3 | 
| MultiServer | ✗ | OAS3 | 
| ParameterizedServer | ✗ | OAS3 | 
| ParameterStyling | ✗ | OAS3 | 
| Callbacks | ✗ | OAS3 | 
| LinkObjects | ✗ | OAS3 | 
Parameter Feature
| Name | Supported | Defined By | 
|---|---|---|
| Path | ✓ | OAS2,OAS3 | 
| Query | ✓ | OAS2,OAS3 | 
| Header | ✓ | OAS2,OAS3 | 
| Body | ✓ | OAS2 | 
| FormUnencoded | ✓ | OAS2 | 
| FormMultipart | ✓ | OAS2 | 
| Cookie | ✓ | OAS3 | 
Schema Support Feature
| Name | Supported | Defined By | 
|---|---|---|
| Simple | ✓ | OAS2,OAS3 | 
| Composite | ✓ | OAS2,OAS3 | 
| Polymorphism | ✓ | OAS2,OAS3 | 
| Union | ✗ | OAS3 | 
Security Feature
| Name | Supported | Defined By | 
|---|---|---|
| BasicAuth | ✓ | OAS2,OAS3 | 
| ApiKey | ✓ | OAS2,OAS3 | 
| OpenIDConnect | ✗ | OAS3 | 
| BearerToken | ✓ | OAS3 | 
| OAuth2_Implicit | ✗ | OAS2,OAS3 | 
| OAuth2_Password | ✗ | OAS2,OAS3 | 
| OAuth2_ClientCredentials | ✗ | OAS2,OAS3 | 
| OAuth2_AuthorizationCode | ✗ | OAS2,OAS3 | 
Wire Format Feature
| Name | Supported | Defined By | 
|---|---|---|
| JSON | ✓ | OAS2,OAS3 | 
| XML | ✓ | OAS2,OAS3 | 
| PROTOBUF | ✗ | ToolingExtension | 
| Custom | ✗ | OAS2,OAS3 |