mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 20:50:55 +00:00
* feat: DateOnly for client * fix: generated doc for csharp * doc: fix generators README for csharp * add DateOnly option for aspnet * refactor: update csharp docs * refactor: fix typo * finish * finish * finish * regenerate * rebuild and regenerate * fix build error * finish * revert path * regenerate * remove exceed samples * regenerate * add DateOnly to nullable * remove obsolete file from list * update test files list * remove obsolete sample build * revert manual tests * revert samples to master and regenerate * remove new samples * remove eol * remove eol * add new specs * try fix test * update tests * update files * remove eol * revert * remove eol * regenerate * add net6+ support to aspnetcore * add jobs
11 KiB
11 KiB
title |
---|
Documentation for the csharp Generator |
METADATA
Property | Value | Notes |
---|---|---|
generator name | csharp | 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 | |
dateFormat | The default Date format (only generichost library supports this option). |
yyyy'-'MM'-'dd | |
dateTimeFormat | The default DateTime format (only generichost library supports this option). |
yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK | |
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 |
equatable | Overrides Equals and GetHashCode methods. | false | |
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.1 or newer. Starting in .NET 6.0 the default is true. | 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 | |
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.1 |
|
net8.0 |
useCollection | Deserialize array types to Collection<T> instead of List<T>. | false | |
useDateTimeForDate | Use DateTime to model date properties even if DateOnly supported. (.net 6.0+ only) | 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 | |
useSourceGeneration | Use source generation where available (only generichost library supports this option). |
false | |
validatable | Generates self-validatable models. | true | |
zeroBasedEnums | Enumerations with string values will start from 0 when true, 1 when false. If not set, enumerations with string values will start from 0 if the first value is 'unknown', case insensitive. | null |
IMPORT MAPPING
Type/Alias | Imports |
---|
INSTANTIATION TYPES
Type/Alias | Instantiated By |
---|---|
array | List |
list | List |
map | Dictionary |
LANGUAGE PRIMITIVES
- Boolean
- Collection
- DateOnly
- DateOnly?
- 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
- uint
- uint?
- ulong
- ulong?
RESERVED WORDS
- Client
- Configuration
- Environment
- OperatingSystem
- TimeZone
- 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
- system
- 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 |
Uuid | ✗ | |
Array | ✓ | OAS2,OAS3 |
Null | ✗ | OAS3 |
AnyType | ✗ | OAS2,OAS3 |
Object | ✓ | 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 |
allOf | ✗ | OAS2,OAS3 |
anyOf | ✗ | OAS3 |
oneOf | ✗ | OAS3 |
not | ✗ | 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 |
SignatureAuth | ✓ | OAS3 |
AWSV4Signature | ✗ | ToolingExtension |
Wire Format Feature
Name | Supported | Defined By |
---|---|---|
JSON | ✓ | OAS2,OAS3 |
XML | ✓ | OAS2,OAS3 |
PROTOBUF | ✗ | ToolingExtension |
Custom | ✗ | OAS2,OAS3 |