mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-10-14 16:33:56 +00:00
* started impl * seems to work * generated docs * fix class name duplicates on case-insensitive filesystems * wip * added script to rebuild all projects * dropped bash slop * fixed directory structure * ok, now it makes sense * update sttp, serialize query params, fix enums serialization, fix not required files params * fix compile errors after sttp upgrade, fix missing enum import in operations, fix file response. change serialization from Map to Seq to avoid deleting duplicate keys * auth support * fix enums entries, multipart support(partially), header, path and cookie serialization support * support of option fields * add samples, update workflow * add new files * fix * remove tab * remove tab * update doc * update header * update readme --------- Co-authored-by: Łukasz Biały <lukasz.marcin.bialy@gmail.com> Co-authored-by: Kamil-Lontkowski <kamillont14@gmail.com>
8.7 KiB
8.7 KiB
title |
---|
Documentation for the scala-sttp4-jsoniter Generator |
METADATA
Property | Value | Notes |
---|---|---|
generator name | scala-sttp4-jsoniter | pass this to the generate command after -g |
generator stability | BETA | |
generator type | CLIENT | |
generator language | Scala | |
generator default templating engine | mustache | |
helpTxt | Generates a Scala client library (beta) based on Sttp4 and Jsoniter-Scala. |
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 | |
apiPackage | package for generated api classes | null | |
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 |
jsoniterVersion | The version of jsoniter-scala library | 2.31.1 | |
legacyDiscriminatorBehavior | Set to false for generators with better support for discriminators. (Python, Java, Go, PowerShell, C# have this enabled by default). |
|
true |
mainPackage | Top-level package name, which defines 'apiPackage', 'modelPackage', 'invokerPackage' | org.openapitools.client | |
modelPackage | package for generated models | null | |
modelPropertyNaming | Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name | camelCase | |
prependFormOrBodyParameters | Add form or body parameters to the beginning of the parameter list. | false | |
separateErrorChannel | Whether to return response as F[Either[ResponseError[ErrorType], ReturnType]]] or to flatten response's error raising them through enclosing monad (F[ReturnType]). | true | |
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 | |
sttpClientVersion | The version of sttp client | 4.0.0-RC1 |
IMPORT MAPPING
Type/Alias | Imports |
---|---|
Array | java.util.List |
ArrayList | java.util.ArrayList |
BigDecimal | scala.math.BigDecimal |
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 |
io.circe.Json | com.github.plokhotnyuk.jsoniter_scala.circe.JsoniterScalaCodec.* |
INSTANTIATION TYPES
Type/Alias | Instantiated By |
---|---|
array | ListBuffer |
map | Map |
set | Set |
LANGUAGE PRIMITIVES
- Any
- Array
- Boolean
- Byte
- Double
- Float
- Int
- List
- Long
- Map
- Object
- Seq
- String
- boolean
RESERVED WORDS
- Either
- Method
- Request
- abstract
- case
- catch
- class
- clone
- def
- do
- else
- enum
- export
- extends
- false
- final
- finally
- for
- forSome
- given
- if
- implicit
- import
- lazy
- match
- new
- null
- object
- override
- package
- private
- protected
- return
- sealed
- super
- then
- this
- throw
- trait
- true
- try
- type
- using
- val
- var
- while
- with
- 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 |