mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 12:40:53 +00:00
* Ran `./new.sh -n scala-cask -s` to generate a new Scala Cask impl * removed scala-cask-petstore * Added Scala-cask param parser for BigDecimals * added scala cask to samples * splitting out validation and json * Added GitHub workflow support * regenerated cask samples * cask build fix for local builds * regenerated samples * trying to reproduce failed cask build. checking in compiles sources, which have been reformatted * reverted whaitespace change * cask fix - adding gitignored files * scala cask toLowreCase fix * scala cask toUpperCase fix * cask regenerated samples * improved exception handling for scala cask * File separator fix for windows * Noob fix for cask * regenerated api package * Removed environment variable settings, debug code * Updated samples * moved scala-cask output * Regenerated samples * scala cask fix * Updated scala cask settings for more typical package structure Removed cask client samples * cask - reran generate samples * Removed duplicate ScalaCaskServer entry * minor enhancements * update samples * update templates --------- Co-authored-by: aaron.pritzlaff <aaron@kindservices.co.uk>
262 lines
8.6 KiB
Markdown
262 lines
8.6 KiB
Markdown
---
|
|
title: Documentation for the scala-cask Generator
|
|
---
|
|
|
|
## METADATA
|
|
|
|
| Property | Value | Notes |
|
|
| -------- | ----- | ----- |
|
|
| generator name | scala-cask | pass this to the generate command after -g |
|
|
| generator stability | STABLE | |
|
|
| generator type | SERVER | |
|
|
| generator language | Scala | |
|
|
| generator default templating engine | mustache | |
|
|
| helpTxt | Generates a scala-cask server. | |
|
|
|
|
## CONFIG OPTIONS
|
|
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details.
|
|
|
|
| Option | Description | Values | Default |
|
|
| ------ | ----------- | ------ | ------- |
|
|
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|
|
|apiPackage|package for generated api classes| |null|
|
|
|artifactId|artifactId in generated pom.xml. This also becomes part of the generated library's filename| |null|
|
|
|dateLibrary|Option. Date library to use|<dl><dt>**joda**</dt><dd>Joda (for legacy app)</dd><dt>**java8**</dt><dd>Java 8 native JSR310 (preferred for JDK 1.8+)</dd></dl>|java8|
|
|
|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.|<dl><dt>**false**</dt><dd>The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.</dd><dt>**true**</dt><dd>Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.</dd></dl>|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.|<dl><dt>**false**</dt><dd>No changes to the enum's are made, this is the default option.</dd><dt>**true**</dt><dd>With this option enabled, each enum will have a new case, 'unknown_default_open_api', so that when the enum case sent by the server is not known by the client/spec, can safely be decoded to this case.</dd></dl>|false|
|
|
|gitRepoId|Git repo ID, e.g. openapi-generator.| |null|
|
|
|gitUserId|Git user ID, e.g. openapitools.| |null|
|
|
|groupId|groupId in generated pom.xml| |null|
|
|
|legacyDiscriminatorBehavior|Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default).|<dl><dt>**true**</dt><dd>The mapping in the discriminator includes descendent schemas that allOf inherit from self and the discriminator mapping schemas in the OAS document.</dd><dt>**false**</dt><dd>The mapping in the discriminator includes any descendent schemas that allOf inherit from self, any oneOf schemas, any anyOf schemas, any x-discriminator-values, and the discriminator mapping schemas in the OAS document AND Codegen validates that oneOf and anyOf schemas contain the required discriminator and throws an error if the discriminator is missing.</dd></dl>|true|
|
|
|modelPackage|package for generated models| |null|
|
|
|modelPropertyNaming|Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name| |camelCase|
|
|
|packageName|packageDescription| |null|
|
|
|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|
|
|
|sourceFolder|source folder for generated code| |null|
|
|
|
|
## IMPORT MAPPING
|
|
|
|
| Type/Alias | Imports |
|
|
| ---------- | ------- |
|
|
|Array|java.util.List|
|
|
|ArrayList|java.util.ArrayList|
|
|
|Date|java.util.Date|
|
|
|DateTime|org.joda.time.*|
|
|
|File|java.io.File|
|
|
|HashMap|java.util.HashMap|
|
|
|ListBuffer|scala.collection.mutable.ListBuffer|
|
|
|ListSet|scala.collection.immutable.ListSet|
|
|
|LocalDate|org.joda.time.*|
|
|
|LocalDateTime|org.joda.time.*|
|
|
|LocalTime|org.joda.time.*|
|
|
|Seq|scala.collection.immutable.Seq|
|
|
|Set|scala.collection.immutable.Set|
|
|
|Timestamp|java.sql.Timestamp|
|
|
|URI|java.net.URI|
|
|
|UUID|java.util.UUID|
|
|
|
|
|
|
## INSTANTIATION TYPES
|
|
|
|
| Type/Alias | Instantiated By |
|
|
| ---------- | --------------- |
|
|
|set|Set|
|
|
|
|
|
|
## LANGUAGE PRIMITIVES
|
|
|
|
<ul class="column-ul">
|
|
<li>Any</li>
|
|
<li>Array</li>
|
|
<li>Boolean</li>
|
|
<li>Byte</li>
|
|
<li>Double</li>
|
|
<li>Float</li>
|
|
<li>Int</li>
|
|
<li>List</li>
|
|
<li>Long</li>
|
|
<li>Map</li>
|
|
<li>Object</li>
|
|
<li>Seq</li>
|
|
<li>String</li>
|
|
<li>boolean</li>
|
|
</ul>
|
|
|
|
## RESERVED WORDS
|
|
|
|
<ul class="column-ul">
|
|
<li>abstract</li>
|
|
<li>assert</li>
|
|
<li>boolean</li>
|
|
<li>break</li>
|
|
<li>byte</li>
|
|
<li>case</li>
|
|
<li>catch</li>
|
|
<li>char</li>
|
|
<li>class</li>
|
|
<li>const</li>
|
|
<li>continue</li>
|
|
<li>default</li>
|
|
<li>do</li>
|
|
<li>double</li>
|
|
<li>else</li>
|
|
<li>enum</li>
|
|
<li>extends</li>
|
|
<li>final</li>
|
|
<li>finally</li>
|
|
<li>float</li>
|
|
<li>for</li>
|
|
<li>goto</li>
|
|
<li>if</li>
|
|
<li>implements</li>
|
|
<li>import</li>
|
|
<li>instanceof</li>
|
|
<li>int</li>
|
|
<li>interface</li>
|
|
<li>long</li>
|
|
<li>native</li>
|
|
<li>new</li>
|
|
<li>package</li>
|
|
<li>private</li>
|
|
<li>protected</li>
|
|
<li>public</li>
|
|
<li>return</li>
|
|
<li>short</li>
|
|
<li>static</li>
|
|
<li>strictfp</li>
|
|
<li>super</li>
|
|
<li>switch</li>
|
|
<li>synchronized</li>
|
|
<li>this</li>
|
|
<li>throw</li>
|
|
<li>throws</li>
|
|
<li>transient</li>
|
|
<li>try</li>
|
|
<li>type</li>
|
|
<li>void</li>
|
|
<li>volatile</li>
|
|
<li>while</li>
|
|
</ul>
|
|
|
|
## 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
|