forked from loafle/openapi-generator-original
* Revert "Revert "Has generators set default template engine (#11245)" (#11316)" This reverts commit 57987424a4eaa22d73337388489cd86d7f42a023. * Only loads in the default template engine if the config file contains the generatorName * Only sets templatingEngineName using condif default in one place * Adds config files that lack generatorName * Revert "Adds config files that lack generatorName" This reverts commit 7dafc93c0f02c037d9be5d2c0a3ee7377c8b479d. * Adds generator default templating engine to the generator metadata
10 KiB
10 KiB
title |
---|
Documentation for the csharp-netcore Generator |
METADATA
Property | Value | Notes |
---|---|---|
generator name | csharp-netcore | pass this to the generate command after -g |
generator stability | STABLE | |
generator type | CLIENT | |
generator language | C# | |
generator default templating engine | mustache | |
helpTxt | Generates a C# client library (.NET Standard, .NET Core). |
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 |
---|---|---|---|
allowUnicodeIdentifiers | boolean, toggles whether unicode identifiers are allowed in names or not, default is false | false | |
caseInsensitiveResponseHeaders | Make API response's headers case-insensitive | false | |
conditionalSerialization | Serialize only those properties which are initialized by user, accepted values are true or false, default value is false. | false | |
disallowAdditionalPropertiesIfNotPresent | If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default. |
|
true |
hideGenerationTimestamp | Hides the generation timestamp when files are generated. | true | |
interfacePrefix | Prefix interfaces with a community standard or widely accepted prefix. | I | |
library | HTTP library template (sub-template) to use |
|
restsharp |
licenseId | The identifier of the license | null | |
modelPropertyNaming | Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name | PascalCase | |
netCoreProjectFile | Use the new format (.NET Core) for .NET project files (.csproj). | false | |
nonPublicApi | Generates code with reduced access modifiers; allows embedding elsewhere without exposing non-public API calls to consumers. | false | |
nullableReferenceTypes | Use nullable annotations in the project. Only supported on C# 8 / ASP.NET Core 3.0 or newer. | false | |
optionalAssemblyInfo | Generate AssemblyInfo.cs. | true | |
optionalEmitDefaultValues | Set DataMember's EmitDefaultValue. | false | |
optionalMethodArgument | C# Optional method argument, e.g. void square(int x=10) (.net 4.0+ only). | true | |
optionalProjectFile | Generate {PackageName}.csproj. | true | |
packageGuid | The GUID that will be associated with the C# project | null | |
packageName | C# package name (convention: Title.Case). | Org.OpenAPITools | |
packageTags | Tags to identify the package | null | |
packageVersion | C# package version. | 1.0.0 | |
releaseNote | Release note, default to 'Minor update'. | Minor update | |
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 | |
targetFramework | The target .NET framework version. To target multiple frameworks, use ; as the separator, e.g. netstandard2.1;netcoreapp3.0 |
|
netstandard2.0 |
useCollection | Deserialize array types to Collection<T> instead of List<T>. | false | |
useDateTimeOffset | Use DateTimeOffset to model date-time properties | false | |
useOneOfDiscriminatorLookup | Use the discriminator's mapping in oneOf to speed up the model lookup. IMPORTANT: Validation (e.g. one and only one match in oneOf's schemas) will be skipped. | false | |
validatable | Generates self-validatable models. | 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
- base
- bool
- break
- byte
- case
- catch
- char
- checked
- class
- client
- const
- continue
- decimal
- default
- delegate
- do
- double
- 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
- virtual
- void
- volatile
- while
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 |