mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-10-14 08:23:45 +00:00
* Add OCaml fake-petstore to test corner cases * Prefix List functions with Stdlib as the fake petstore generates a List module * Handle decimal and any types * Indent to_json.mustache for easier maintenance * Indent api-impl.mustache a bit more for readability before fix * Fix: do not call `to_json` for free forms and byte arrays Fixes https://github.com/OpenAPITools/openapi-generator/issues/21312 * Fix compilation for binary types The implementation may not be correct, but at least it compiles. To be checked if someday someone actually uses it/complains. * Indent to_string.mustache * Add support for exploded form-style object query params Fixes https://github.com/OpenAPITools/openapi-generator/issues/21307 * Add ocaml-fake-petstore to CI * Fix free-form body params * Cohttp_lwt.Response is deprecated, use Cohttp.Response instead * Safe Java code cleanup * Split into model-record.mustache * Add some support for oneOf/anyOf * Re-generate all OCaml samples * Fix: correctly mark non-required maps with default empty list * Fix: Correctly encode/decode maps * Refresh documentation * Refresh after merging master
7.3 KiB
7.3 KiB
title |
---|
Documentation for the ocaml Generator |
METADATA
Property | Value | Notes |
---|---|---|
generator name | ocaml | pass this to the generate command after -g |
generator stability | STABLE | |
generator type | CLIENT | |
generator language | OCaml | |
generator default templating engine | mustache | |
helpTxt | Generates an OCaml client library (beta). |
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 | |
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 |
ensureUniqueParams | Whether to ensure parameter names are unique in an operation (rename parameters that are not). | true | |
enumUnknownDefaultCase | If the server adds new enum cases, that are unknown by an old spec/client, the client will fail to parse the network response.With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the server sends an enum case that is not known by the client/spec, they can safely fallback to this case. |
|
false |
legacyDiscriminatorBehavior | Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default). |
|
true |
prependFormOrBodyParameters | Add form or body parameters to the beginning of the parameter list. | false | |
sortModelPropertiesByRequiredFlag | Sort model properties to place required parameters before optional parameters. | true | |
sortParamsByRequiredFlag | Sort method arguments to place required parameters before optional parameters. | true |
IMPORT MAPPING
Type/Alias | Imports |
---|
INSTANTIATION TYPES
Type/Alias | Instantiated By |
---|
LANGUAGE PRIMITIVES
- Yojson.Safe.t
- bool
- bytes
- char
- float
- int
- int32
- int64
- list
- string
RESERVED WORDS
- and
- as
- asr
- assert
- begin
- class
- constraint
- do
- done
- downto
- else
- end
- exception
- external
- false
- for
- fun
- function
- functor
- if
- in
- include
- inherit
- initializer
- land
- lazy
- let
- lor
- lsl
- lsr
- lxor
- match
- method
- mod
- module
- mutable
- new
- nonrec
- object
- of
- open
- or
- private
- rec
- result
- sig
- struct
- then
- to
- true
- try
- type
- val
- virtual
- when
- while
- with
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 |