mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 20:50:55 +00:00
* added generichost library * added templates * added an event, improved docs, added logging * adding event args file * fixed hard coded package name * added an AddTokens overload for a single token * changed api clients to singletons to support the event registration * build samples * log exceptions while executing api responded event * nrt bug fixes, dangling comma fix * resolving comments * removed debugging lines * refactored token provider * rate limit provider now default * updated readme, added ConfigureAwait(false) * DI fixes * removed a hard coded project name * fixed nrt bugs * improved NRT and .net 3.1 support * renamed projectName to apiName, added cli option * trying to avoid conflict * set GenerateAssemlbyInfo to true * created docs/scripts folder * moved ApiTestsBase.cs to not get overwritten * test fixes and improvements * fixed licenseId bug, updated readme * build samples * export docs * removed new language features * added support for .net standard 2.0 * added git_push.ps1 * fixed bug in git_push.sh due to the new directory, prompting user for commit message * moved documentation folders * fixed bug when apiKey in query * bug fix
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 | |
apiName | Must be a valid C# class name. Only used in Generic Host library. Default: Api | Api | |
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 |