mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 20:50:55 +00:00
update samples, docs
This commit is contained in:
parent
455add6d80
commit
9b7528d8c8
@ -134,6 +134,7 @@ The following generators are available:
|
||||
* [rust-server](generators/rust-server.md)
|
||||
* [scala-akka-http-server (beta)](generators/scala-akka-http-server.md)
|
||||
* [scala-finch](generators/scala-finch.md)
|
||||
* [scala-http4s-server](generators/scala-http4s-server.md)
|
||||
* [scala-lagom-server](generators/scala-lagom-server.md)
|
||||
* [scala-play-server](generators/scala-play-server.md)
|
||||
* [scalatra](generators/scalatra.md)
|
||||
|
275
docs/generators/scala-http4s-server.md
Normal file
275
docs/generators/scala-http4s-server.md
Normal file
@ -0,0 +1,275 @@
|
||||
---
|
||||
title: Documentation for the scala-http4s-server Generator
|
||||
---
|
||||
|
||||
## METADATA
|
||||
|
||||
| Property | Value | Notes |
|
||||
| -------- | ----- | ----- |
|
||||
| generator name | scala-http4s-server | 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 http4s server bindings. | |
|
||||
|
||||
## 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|
|
||||
|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|
|
||||
|excludeSbt|exclude sbt from generation| |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|
|
||||
|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|
|
||||
|sourceSubfolder|name of subfolder, for example to generate code in src/scala/generated| |null|
|
||||
|
||||
## IMPORT MAPPING
|
||||
|
||||
| Type/Alias | Imports |
|
||||
| ---------- | ------- |
|
||||
|And|eu.timepit.refined.boolean.And|
|
||||
|ArrayBuffer|scala.collection.mutable.ArrayBuffer|
|
||||
|Date|java.util.Date|
|
||||
|DateTime|java.time.LocalDateTime|
|
||||
|File|java.io.File|
|
||||
|Greater|eu.timepit.refined.numeric.Greater|
|
||||
|GreaterEqual|eu.timepit.refined.numeric.GreaterEqual|
|
||||
|HashMap|scala.collection.immutable.HashMap|
|
||||
|Less|eu.timepit.refined.numeric.Less|
|
||||
|LessEqual|eu.timepit.refined.numeric.LessEqual|
|
||||
|LocalDate|java.time.LocalDate|
|
||||
|LocalDateTime|java.time.LocalDateTime|
|
||||
|LocalTime|java.time.LocalTime|
|
||||
|Map|scala.collection.immutable.Map|
|
||||
|MatchesRegex|eu.timepit.refined.string.MatchesRegex|
|
||||
|MaxSize|eu.timepit.refined.collection.MaxSize|
|
||||
|MinSize|eu.timepit.refined.collection.MinSize|
|
||||
|OffsetDateTime|java.time.OffsetDateTime|
|
||||
|Refined|eu.timepit.refined.api.Refined|
|
||||
|Seq|scala.collection.immutable.Seq|
|
||||
|Timestamp|java.sql.Timestamp|
|
||||
|URI|java.net.URI|
|
||||
|UUID|java.util.UUID|
|
||||
|ZonedDateTime|java.time.ZonedDateTime|
|
||||
|
||||
|
||||
## INSTANTIATION TYPES
|
||||
|
||||
| Type/Alias | Instantiated By |
|
||||
| ---------- | --------------- |
|
||||
|array|ArrayList|
|
||||
|map|HashMap|
|
||||
|
||||
|
||||
## LANGUAGE PRIMITIVES
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>Any</li>
|
||||
<li>AnyRef</li>
|
||||
<li>AnyVal</li>
|
||||
<li>BigDecimal</li>
|
||||
<li>Boolean</li>
|
||||
<li>Double</li>
|
||||
<li>Float</li>
|
||||
<li>Int</li>
|
||||
<li>Integer</li>
|
||||
<li>Long</li>
|
||||
<li>Object</li>
|
||||
<li>String</li>
|
||||
</ul>
|
||||
|
||||
## RESERVED WORDS
|
||||
|
||||
<ul class="column-ul">
|
||||
<li>abstract</li>
|
||||
<li>assert</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>def</li>
|
||||
<li>default</li>
|
||||
<li>do</li>
|
||||
<li>double</li>
|
||||
<li>else</li>
|
||||
<li>enum</li>
|
||||
<li>extends</li>
|
||||
<li>false</li>
|
||||
<li>final</li>
|
||||
<li>finally</li>
|
||||
<li>float</li>
|
||||
<li>for</li>
|
||||
<li>forsome</li>
|
||||
<li>goto</li>
|
||||
<li>if</li>
|
||||
<li>implements</li>
|
||||
<li>implicit</li>
|
||||
<li>import</li>
|
||||
<li>instanceof</li>
|
||||
<li>int</li>
|
||||
<li>interface</li>
|
||||
<li>lazy</li>
|
||||
<li>long</li>
|
||||
<li>match</li>
|
||||
<li>native</li>
|
||||
<li>new</li>
|
||||
<li>null</li>
|
||||
<li>object</li>
|
||||
<li>override</li>
|
||||
<li>package</li>
|
||||
<li>private</li>
|
||||
<li>protected</li>
|
||||
<li>public</li>
|
||||
<li>return</li>
|
||||
<li>sealed</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>trait</li>
|
||||
<li>transient</li>
|
||||
<li>true</li>
|
||||
<li>try</li>
|
||||
<li>type</li>
|
||||
<li>val</li>
|
||||
<li>var</li>
|
||||
<li>void</li>
|
||||
<li>volatile</li>
|
||||
<li>while</li>
|
||||
<li>with</li>
|
||||
<li>yield</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
|
@ -40,6 +40,7 @@ import kotlin.collections.Map
|
||||
interface PetApi {
|
||||
|
||||
@Operation(
|
||||
tags = ["pet",],
|
||||
summary = "Add a new pet to the store",
|
||||
operationId = "addPet",
|
||||
description = """""",
|
||||
@ -58,6 +59,7 @@ interface PetApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["pet",],
|
||||
summary = "Deletes a pet",
|
||||
operationId = "deletePet",
|
||||
description = """""",
|
||||
@ -75,6 +77,7 @@ interface PetApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["pet",],
|
||||
summary = "Finds Pets by status",
|
||||
operationId = "findPetsByStatus",
|
||||
description = """Multiple status values can be provided with comma separated strings""",
|
||||
@ -94,6 +97,7 @@ interface PetApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["pet",],
|
||||
summary = "Finds Pets by tags",
|
||||
operationId = "findPetsByTags",
|
||||
description = """Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.""",
|
||||
@ -113,6 +117,7 @@ interface PetApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["pet",],
|
||||
summary = "Find pet by ID",
|
||||
operationId = "getPetById",
|
||||
description = """Returns a single pet""",
|
||||
@ -133,6 +138,7 @@ interface PetApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["pet",],
|
||||
summary = "Update an existing pet",
|
||||
operationId = "updatePet",
|
||||
description = """""",
|
||||
@ -153,6 +159,7 @@ interface PetApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["pet",],
|
||||
summary = "Updates a pet in the store with form data",
|
||||
operationId = "updatePetWithForm",
|
||||
description = """""",
|
||||
@ -171,6 +178,7 @@ interface PetApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["pet",],
|
||||
summary = "uploads an image",
|
||||
operationId = "uploadFile",
|
||||
description = """""",
|
||||
|
@ -39,6 +39,7 @@ import kotlin.collections.Map
|
||||
interface StoreApi {
|
||||
|
||||
@Operation(
|
||||
tags = ["store",],
|
||||
summary = "Delete purchase order by ID",
|
||||
operationId = "deleteOrder",
|
||||
description = """For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors""",
|
||||
@ -56,6 +57,7 @@ interface StoreApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["store",],
|
||||
summary = "Returns pet inventories by status",
|
||||
operationId = "getInventory",
|
||||
description = """Returns a map of status codes to quantities""",
|
||||
@ -74,6 +76,7 @@ interface StoreApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["store",],
|
||||
summary = "Find purchase order by ID",
|
||||
operationId = "getOrderById",
|
||||
description = """For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions""",
|
||||
@ -93,6 +96,7 @@ interface StoreApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["store",],
|
||||
summary = "Place an order for a pet",
|
||||
operationId = "placeOrder",
|
||||
description = """""",
|
||||
|
@ -39,6 +39,7 @@ import kotlin.collections.Map
|
||||
interface UserApi {
|
||||
|
||||
@Operation(
|
||||
tags = ["user",],
|
||||
summary = "Create user",
|
||||
operationId = "createUser",
|
||||
description = """This can only be done by the logged in user.""",
|
||||
@ -55,6 +56,7 @@ interface UserApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["user",],
|
||||
summary = "Creates list of users with given input array",
|
||||
operationId = "createUsersWithArrayInput",
|
||||
description = """""",
|
||||
@ -71,6 +73,7 @@ interface UserApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["user",],
|
||||
summary = "Creates list of users with given input array",
|
||||
operationId = "createUsersWithListInput",
|
||||
description = """""",
|
||||
@ -87,6 +90,7 @@ interface UserApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["user",],
|
||||
summary = "Delete user",
|
||||
operationId = "deleteUser",
|
||||
description = """This can only be done by the logged in user.""",
|
||||
@ -104,6 +108,7 @@ interface UserApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["user",],
|
||||
summary = "Get user by user name",
|
||||
operationId = "getUserByName",
|
||||
description = """""",
|
||||
@ -123,6 +128,7 @@ interface UserApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["user",],
|
||||
summary = "Logs user into the system",
|
||||
operationId = "loginUser",
|
||||
description = """""",
|
||||
@ -141,6 +147,7 @@ interface UserApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["user",],
|
||||
summary = "Logs out current logged in user session",
|
||||
operationId = "logoutUser",
|
||||
description = """""",
|
||||
@ -157,6 +164,7 @@ interface UserApi {
|
||||
}
|
||||
|
||||
@Operation(
|
||||
tags = ["user",],
|
||||
summary = "Updated user",
|
||||
operationId = "updateUser",
|
||||
description = """This can only be done by the logged in user.""",
|
||||
|
@ -1 +1 @@
|
||||
unset
|
||||
7.3.0-SNAPSHOT
|
Loading…
x
Reference in New Issue
Block a user