Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve sttpOpenApiClient generator #6684

Merged
merged 38 commits into from
Jul 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
a09822e
Base changes
ghostbuster91 Jun 4, 2020
a412444
Fix rendering too many colons
ghostbuster91 Jun 4, 2020
e8c3890
Fix formatting
ghostbuster91 Jun 4, 2020
e3a0654
Allow sttp version customization
ghostbuster91 Jun 4, 2020
4ac8894
Add option to return errors in terms of monadError
ghostbuster91 Jun 4, 2020
88908e2
Add option to customize jodaTime version
ghostbuster91 Jun 4, 2020
5c255e4
Add option to customize json4s version
ghostbuster91 Jun 4, 2020
6c5d792
Simplify jsonHandling
ghostbuster91 Jun 4, 2020
3b27bc5
Remove helpers as such functionality was added to sttp
ghostbuster91 Jun 4, 2020
cac19fc
Rename file
ghostbuster91 Jun 4, 2020
86ec499
Fix uploading multipart data
ghostbuster91 Jun 4, 2020
97fd17f
Extract common abstraction for generator properties
ghostbuster91 Jun 4, 2020
a7a15a2
Add partial circe support
ghostbuster91 Jun 4, 2020
551bb35
Remove unsed method
ghostbuster91 Jun 4, 2020
2a91b11
Refactor picking up json library
ghostbuster91 Jun 4, 2020
a380531
Add missing DateSerializers for circe
ghostbuster91 Jun 9, 2020
5cab35d
Simplify credentials
ghostbuster91 Jun 9, 2020
714f930
Simplify code
ghostbuster91 Jun 9, 2020
a5f0a05
Update docs
ghostbuster91 Jun 9, 2020
dfca277
Fix auto formatting
ghostbuster91 Jun 9, 2020
5efad87
Simplify code
ghostbuster91 Jun 9, 2020
3c836f9
SttpCodegen should not depend on akka
ghostbuster91 Jun 9, 2020
a377921
Rewrite properties handling
ghostbuster91 Jun 10, 2020
d176eeb
Fix mainProperty application
ghostbuster91 Jun 10, 2020
f7c384c
Pass credentials to methods as regular parameters
ghostbuster91 Jun 10, 2020
4a5ff27
Put auth params first
ghostbuster91 Jun 10, 2020
e2df636
[Sttp] SeparateErrorChannel is true by default
ghostbuster91 Jun 16, 2020
b3017bb
[Sttp] Simplify generated build.sbt
ghostbuster91 Jun 16, 2020
86150cb
[Sttp] Regenerate project
ghostbuster91 Jun 16, 2020
4588362
[Sttp] Update default version to 2.2.0
ghostbuster91 Jun 16, 2020
b572673
Regenerate petstore sample
ghostbuster91 Jun 16, 2020
91dd9b0
Restore cross-compilation to scala 2.12
ghostbuster91 Jun 23, 2020
9242bc4
Restore syntax with companion object for api definitions
ghostbuster91 Jun 23, 2020
de82caf
Remove specifying reservedWords as it was already specified in upper …
ghostbuster91 Jun 23, 2020
d868eda
Refactor mainPackageProperty and add tests for it
ghostbuster91 Jun 23, 2020
1f9cd3e
Update samples/client/petstore/scala-sttp/build.sbt
ghostbuster91 Jun 29, 2020
a6647d2
Update sbt to 1.3.12
ghostbuster91 Jun 29, 2020
8f5a98f
Run bin/utils/ensure-up-to-date and commit changes
ghostbuster91 Jun 29, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion docs/generators/scala-sttp.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,23 @@ sidebar_label: scala-sttp
| ------ | ----------- | ------ | ------- |
|allowUnicodeIdentifiers|boolean, toggles whether unicode identifiers are allowed in names or not, default is false| |false|
|apiPackage|package for generated api classes| |null|
|circeVersion|The version of circe library| |0.13.0|
|dateLibrary|Option. Date library to use|<dl><dt>**joda**</dt><dd>Joda (for legacy app)</dd><dt>**java8**</dt><dd>Java 8 native JSR310 (prefered for JDK 1.8+)</dd></dl>|java8|
|disallowAdditionalPropertiesIfNotPresent|Specify the behavior when the 'additionalProperties' keyword is not present in the OAS document. If false: the 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications. If true: when the 'additionalProperties' keyword is not present in a schema, the value of 'additionalProperties' is set to false, i.e. no additional properties are allowed. Note: this mode is not compliant with the JSON schema specification. This is the original openapi-generator behavior.This setting is currently ignored for OAS 2.0 documents: 1) When the 'additionalProperties' keyword is not present in a 2.0 schema, additional properties are NOT allowed. 2) Boolean values of the 'additionalProperties' keyword are ignored. It's as if additional properties are NOT allowed.Note: the root cause are issues #1369 and #1371, which must be resolved in the swagger-parser project.|<dl><dt>**false**</dt><dd>The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.</dd><dt>**true**</dt><dd>when the 'additionalProperties' keyword is not present in a schema, the value of 'additionalProperties' is automatically set to false, i.e. no additional properties are allowed. Note: this mode is not compliant with the JSON schema specification. This is the original openapi-generator behavior.</dd></dl>|true|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|jodaTimeVersion|The version of joda-time library| |2.10.6|
|json4sVersion|The version of json4s library| |3.6.8|
|jsonLibrary|Json library to use. Possible values are: json4s and circe.| |json4s|
|legacyDiscriminatorBehavior|This flag is used by OpenAPITools codegen to influence the processing of the discriminator attribute in OpenAPI documents. This flag has no impact if the OAS document does not use the discriminator attribute. The default value of this flag is set in each language-specific code generator (e.g. Python, Java, go...)using the method toModelName. Note to developers supporting a language generator in OpenAPITools; to fully support the discriminator attribute as defined in the OAS specification 3.x, language generators should set this flag to true by default; however this requires updating the mustache templates to generate a language-specific discriminator lookup function that iterates over {{#mappedModels}} and does not iterate over {{children}}, {{#anyOf}}, or {{#oneOf}}.|<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|
|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| |2.2.0|

## IMPORT MAPPING

Expand Down Expand Up @@ -81,7 +87,7 @@ sidebar_label: scala-sttp
<li>final</li>
<li>finally</li>
<li>for</li>
<li>forsome</li>
<li>forSome</li>
<li>if</li>
<li>implicit</li>
<li>import</li>
Expand Down
Loading