mirror of
				https://github.com/OpenAPITools/openapi-generator.git
				synced 2025-11-04 10:43:44 +00:00 
			
		
		
		
	* Make all C# flavors support x-zero-based-enum and add table to documentation * Add the documentation stuff properly
		
			
				
	
	
	
		
			10 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			10 KiB
		
	
	
	
	
	
	
	
| title | 
|---|
| Documentation for the csharp-functions Generator | 
METADATA
| Property | Value | Notes | 
|---|---|---|
| generator name | csharp-functions | pass this to the generate command after -g | 
| generator stability | STABLE | |
| generator type | SERVER | |
| generator language | C# | |
| generator default templating engine | mustache | |
| helpTxt | Creates Azure function templates on top of the models/converters created by the C# codegens. This function is contained in a partial class. Default Get/Create/Patch/Post etc. methods are created with an underscore prefix. The assumption is that when the function is implemented, the partial class will be completed with another partial class. The implementing code should be located in a method of the same name, only without the underscore prefix. If no such method is found then the function will throw a Not Implemented exception. This setup allows the endpoints to be specified in the schema at build time, and separated from the implementing function. | 
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 | 
|---|---|---|---|
| azureFunctionsVersion | Azure functions version: v4, v3 | 
  | 
v4 | 
| buildTarget | Target to build an application or library | 
  | 
program | 
| classModifier | Class Modifier for function classes: Empty string or abstract. | ||
| 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 | |
| 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 | |
| netCoreVersion | .NET Core version: 6.0, 5.0, 3.1, 3.0 | 
  | 
3.1 | 
| newtonsoftVersion | Version for Newtonsoft.Json for .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 | |
| 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 | |
| useNewtonsoft | Uses the Newtonsoft JSON library. | true | 
SUPPORTED VENDOR EXTENSIONS
| Extension name | Description | Applicable for | Default value | 
|---|---|---|---|
| x-zero-based-enum | When used on an enum, the index will not be generated and the default numbering will be used, zero-based | MODEL | false | 
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
 - 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
 - system
 - 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 | 
| 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 |