[kotlin] better oneOf, anyOf support (#18382)

* add validteJsonElement

* add oneOf support

* various fixes, add tests

* minor fixes

* minor fixes

* update data class

* remove comments

* array support, add test

* update api client constructor

* add anyOf support

* add new files

* fix merge

* update

* update

* update

* update
This commit is contained in:
William Cheng 2024-05-31 12:22:27 +08:00 committed by GitHub
parent 1c7e5c4726
commit 353320cb04
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
648 changed files with 8996 additions and 6249 deletions

View File

@ -11,5 +11,6 @@ additionalProperties:
library: jvm-retrofit2
enumPropertyNaming: UPPERCASE
serializationLibrary: gson
generateOneOfAnyOfWrappers: true
openapiNormalizer:
SIMPLIFY_ONEOF_ANYOF: false

View File

@ -25,6 +25,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|collectionType|Option. Collection type to use|<dl><dt>**array**</dt><dd>kotlin.Array</dd><dt>**list**</dt><dd>kotlin.collections.List</dd></dl>|list|
|dateLibrary|Option. Date library to use|<dl><dt>**threetenbp-localdatetime**</dt><dd>Threetenbp - Backport of JSR310 (jvm only, for legacy app only)</dd><dt>**kotlinx-datetime**</dt><dd>kotlinx-datetime (preferred for multiplatform)</dd><dt>**string**</dt><dd>String</dd><dt>**java8-localdatetime**</dt><dd>Java 8 native JSR310 (jvm only, for legacy app only)</dd><dt>**java8**</dt><dd>Java 8 native JSR310 (jvm only, preferred for jdk 1.8+)</dd><dt>**threetenbp**</dt><dd>Threetenbp - Backport of JSR310 (jvm only, preferred for jdk &lt; 1.8)</dd></dl>|java8|
|enumPropertyNaming|Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original'| |original|
|generateOneOfAnyOfWrappers|Generate oneOf, anyOf schemas as wrappers.| |false|
|generateRoomModels|Generate Android Room database models in addition to API models (JVM Volley library only)| |false|
|groupId|Generated artifact package's organization (i.e. maven groupId).| |org.openapitools|
|idea|Add IntellJ Idea plugin and mark Kotlin main and test folders as source folders.| |false|

View File

@ -26,6 +26,7 @@ import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.samskivert.mustache.Mustache;
import org.apache.commons.lang3.StringUtils;
import org.openapitools.codegen.CliOption;
import org.openapitools.codegen.CodegenConstants;
@ -89,6 +90,8 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
public static final String SUPPORT_ANDROID_API_LEVEL_25_AND_BELLOW = "supportAndroidApiLevel25AndBelow";
public static final String GENERATE_ONEOF_ANYOF_WRAPPERS = "generateOneOfAnyOfWrappers";
protected static final String VENDOR_EXTENSION_BASE_NAME_LITERAL = "x-base-name-literal";
protected String dateLibrary = DateLibrary.JAVA8.value;
@ -102,11 +105,13 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
protected boolean generateRoomModels = false;
protected String roomModelPackage = "";
protected boolean omitGradleWrapper = false;
protected boolean generateOneOfAnyOfWrappers = true;
protected String authFolder;
protected SERIALIZATION_LIBRARY_TYPE serializationLibrary = SERIALIZATION_LIBRARY_TYPE.moshi;
public static final String SERIALIZATION_LIBRARY_DESC = "What serialization library to use: 'moshi' (default), or 'gson' or 'jackson' or 'kotlinx_serialization'";
public enum SERIALIZATION_LIBRARY_TYPE {moshi, gson, jackson, kotlinx_serialization}
public enum DateLibrary {
@ -259,6 +264,8 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
cliOptions.add(CliOption.newBoolean(SUPPORT_ANDROID_API_LEVEL_25_AND_BELLOW, "[WARNING] This flag will generate code that has a known security vulnerability. It uses `kotlin.io.createTempFile` instead of `java.nio.file.Files.createTempFile` in order to support Android API level 25 and bellow. For more info, please check the following links https://github.com/OpenAPITools/openapi-generator/security/advisories/GHSA-23x4-m842-fmwf, https://github.com/OpenAPITools/openapi-generator/pull/9284"));
cliOptions.add(CliOption.newBoolean(GENERATE_ONEOF_ANYOF_WRAPPERS, "Generate oneOf, anyOf schemas as wrappers."));
CliOption serializationLibraryOpt = new CliOption(CodegenConstants.SERIALIZATION_LIBRARY, SERIALIZATION_LIBRARY_DESC);
cliOptions.add(serializationLibraryOpt.defaultValue(serializationLibrary.name()));
}
@ -283,6 +290,10 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
return omitGradleWrapper;
}
public boolean getGenerateOneOfAnyOfWrappers() {
return generateOneOfAnyOfWrappers;
}
public void setGenerateRoomModels(Boolean generateRoomModels) {
this.generateRoomModels = generateRoomModels;
}
@ -332,6 +343,10 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
this.omitGradleWrapper = omitGradleWrapper;
}
public void setGenerateOneOfAnyOfWrappers(boolean generateOneOfAnyOfWrappers) {
this.generateOneOfAnyOfWrappers = generateOneOfAnyOfWrappers;
}
public SERIALIZATION_LIBRARY_TYPE getSerializationLibrary() {
return this.serializationLibrary;
}
@ -443,6 +458,10 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
additionalProperties.put(this.serializationLibrary.name(), true);
}
if (additionalProperties.containsKey(GENERATE_ONEOF_ANYOF_WRAPPERS)) {
setGenerateOneOfAnyOfWrappers(Boolean.parseBoolean(additionalProperties.get(GENERATE_ONEOF_ANYOF_WRAPPERS).toString()));
}
commonSupportingFiles();
switch (getLibrary()) {
@ -513,6 +532,14 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
supportingFiles.add(new SupportingFile("auth/HttpBasicAuth.kt.mustache", authFolder, "HttpBasicAuth.kt"));
}
}
additionalProperties.put("sanitizeGeneric", (Mustache.Lambda) (fragment, writer) -> {
String content = fragment.execute();
for (final String s : List.of("<", ">", ",", " ", ".")) {
content = content.replace(s, "");
}
writer.write(content);
});
}
private void processDateLibrary() {
@ -874,7 +901,7 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
for (ModelMap mo : objects.getModels()) {
CodegenModel cm = mo.getModel();
if (getGenerateRoomModels()) {
if (getGenerateRoomModels() || getGenerateOneOfAnyOfWrappers()) {
cm.vendorExtensions.put("x-has-data-class-body", true);
}

View File

@ -59,9 +59,9 @@ This runs all tests and packages the library.
All URIs are relative to *{{{basePath}}}*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}*{{classname}}* | [**{{operationId}}**]({{apiDocPath}}{{classname}}.md#{{operationIdLowerCase}}) | **{{httpMethod}}** {{path}} | {{{summary}}}
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
{{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}| *{{classname}}* | [**{{operationId}}**]({{apiDocPath}}{{classname}}.md#{{operationIdLowerCase}}) | **{{httpMethod}}** {{path}} | {{{summary}}} |
{{/operation}}{{/operations}}{{/apis}}{{/apiInfo}}
{{/generateApiDocs}}

View File

@ -0,0 +1,243 @@
{{^multiplatform}}
{{#gson}}
{{#generateOneOfAnyOfWrappers}}
import com.google.gson.Gson
import com.google.gson.JsonElement
import com.google.gson.TypeAdapter
import com.google.gson.TypeAdapterFactory
import com.google.gson.reflect.TypeToken
import com.google.gson.stream.JsonReader
import com.google.gson.stream.JsonWriter
import com.google.gson.annotations.JsonAdapter
{{/generateOneOfAnyOfWrappers}}
import com.google.gson.annotations.SerializedName
{{/gson}}
{{#moshi}}
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
{{/moshi}}
{{#jackson}}
{{#enumUnknownDefaultCase}}
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue
{{/enumUnknownDefaultCase}}
import com.fasterxml.jackson.annotation.JsonProperty
{{#discriminator}}
import com.fasterxml.jackson.annotation.JsonSubTypes
import com.fasterxml.jackson.annotation.JsonTypeInfo
{{/discriminator}}
{{/jackson}}
{{#kotlinx_serialization}}
import {{#serializableModel}}kotlinx.serialization.Serializable as KSerializable{{/serializableModel}}{{^serializableModel}}kotlinx.serialization.Serializable{{/serializableModel}}
import kotlinx.serialization.SerialName
import kotlinx.serialization.Contextual
{{#enumUnknownDefaultCase}}
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializer
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
{{/enumUnknownDefaultCase}}
{{#hasEnums}}
{{/hasEnums}}
{{/kotlinx_serialization}}
{{#parcelizeModels}}
import android.os.Parcelable
import kotlinx.parcelize.Parcelize
{{/parcelizeModels}}
{{/multiplatform}}
{{#multiplatform}}
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*
{{/multiplatform}}
{{#serializableModel}}
import java.io.Serializable
{{/serializableModel}}
{{#generateRoomModels}}
import {{roomModelPackage}}.{{classname}}RoomModel
import {{packageName}}.infrastructure.ITransformForStorage
{{/generateRoomModels}}
import java.io.IOException
/**
* {{{description}}}
*
*/
{{#parcelizeModels}}
@Parcelize
{{/parcelizeModels}}
{{#multiplatform}}{{^discriminator}}@Serializable{{/discriminator}}{{/multiplatform}}{{#kotlinx_serialization}}{{#serializableModel}}@KSerializable{{/serializableModel}}{{^serializableModel}}@Serializable{{/serializableModel}}{{/kotlinx_serialization}}{{#moshi}}{{#moshiCodeGen}}@JsonClass(generateAdapter = true){{/moshiCodeGen}}{{/moshi}}{{#jackson}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}{{/jackson}}
{{#isDeprecated}}
@Deprecated(message = "This schema is deprecated.")
{{/isDeprecated}}
{{>additionalModelTypeAnnotations}}
{{#nonPublicApi}}internal {{/nonPublicApi}}data class {{classname}}(var actualInstance: Any? = null) {
class CustomTypeAdapterFactory : TypeAdapterFactory {
override fun <T> create(gson: Gson, type: TypeToken<T>): TypeAdapter<T>? {
if (!{{classname}}::class.java.isAssignableFrom(type.rawType)) {
return null // this class only serializes '{{classname}}' and its subtypes
}
val elementAdapter = gson.getAdapter(JsonElement::class.java)
{{#composedSchemas}}
{{#anyOf}}
{{^isArray}}
{{^vendorExtensions.x-duplicated-data-type}}
val adapter{{{dataType}}} = gson.getDelegateAdapter(this, TypeToken.get({{{dataType}}}::class.java))
{{/vendorExtensions.x-duplicated-data-type}}
{{/isArray}}
{{#isArray}}
@Suppress("UNCHECKED_CAST")
val adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}} = gson.getDelegateAdapter(this, TypeToken.get(object : TypeToken<{{{dataType}}}>() {}.type)) as TypeAdapter<{{{dataType}}}>
{{/isArray}}
{{/anyOf}}
{{/composedSchemas}}
@Suppress("UNCHECKED_CAST")
return object : TypeAdapter<{{classname}}?>() {
@Throws(IOException::class)
override fun write(out: JsonWriter,value: {{classname}}?) {
if (value?.actualInstance == null) {
elementAdapter.write(out, null)
return
}
{{#composedSchemas}}
{{#anyOf}}
{{^vendorExtensions.x-duplicated-data-type}}
// check if the actual instance is of the type `{{{dataType}}}`
if (value.actualInstance is {{#isArray}}List<*>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) {
{{#isPrimitiveType}}
val primitive = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonPrimitive()
elementAdapter.write(out, primitive)
return
{{/isPrimitiveType}}
{{^isPrimitiveType}}
{{#isArray}}
List<?> list = (List<?>) value.actualInstance
if (list.get(0) is {{{items.dataType}}}) {
val array = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonArray()
elementAdapter.write(out, array)
return
}
{{/isArray}}
{{/isPrimitiveType}}
{{^isArray}}
{{^isPrimitiveType}}
val element = adapter{{{dataType}}}.toJsonTree(value.actualInstance as {{{dataType}}}?)
elementAdapter.write(out, element)
return
{{/isPrimitiveType}}
{{/isArray}}
}
{{/vendorExtensions.x-duplicated-data-type}}
{{/anyOf}}
{{/composedSchemas}}
throw IOException("Failed to serialize as the type doesn't match anyOf schemas: {{#anyOf}}{{{.}}}{{^-last}}, {{/-last}}{{/anyOf}}")
}
@Throws(IOException::class)
override fun read(jsonReader: JsonReader): {{classname}} {
val jsonElement = elementAdapter.read(jsonReader)
val errorMessages = ArrayList<String>()
var actualAdapter: TypeAdapter<*>
val ret = {{classname}}()
{{#composedSchemas}}
{{#anyOf}}
{{^vendorExtensions.x-duplicated-data-type}}
{{^hasVars}}
// deserialize {{{dataType}}}
try {
// validate the JSON object to see if any exception is thrown
{{^isArray}}
{{#isNumber}}
require(jsonElement.getAsJsonPrimitive().isNumber()) {
String.format("Expected json element to be of type Number in the JSON string but got `%s`", jsonElement.toString())
}
actualAdapter = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}
ret.actualInstance = actualAdapter.fromJsonTree(jsonElement)
return ret
{{/isNumber}}
{{^isNumber}}
{{#isPrimitiveType}}
require(jsonElement.getAsJsonPrimitive().is{{#isBoolean}}Boolean{{/isBoolean}}{{#isString}}String{{/isString}}{{^isString}}{{^isBoolean}}Number{{/isBoolean}}{{/isString}}()) {
String.format("Expected json element to be of type {{#isBoolean}}Boolean{{/isBoolean}}{{#isString}}String{{/isString}}{{^isString}}{{^isBoolean}}Number{{/isBoolean}}{{/isString}} in the JSON string but got `%s`", jsonElement.toString())
}
actualAdapter = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}
ret.actualInstance = actualAdapter.fromJsonTree(jsonElement)
return ret
{{/isPrimitiveType}}
{{/isNumber}}
{{^isNumber}}
{{^isPrimitiveType}}
{{{dataType}}}.validateJsonElement(jsonElement)
actualAdapter = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}
ret.actualInstance = actualAdapter.fromJsonTree(jsonElement)
return ret
{{/isPrimitiveType}}
{{/isNumber}}
{{/isArray}}
{{#isArray}}
require(jsonElement.isJsonArray) {
String.format("Expected json element to be a array type in the JSON string but got `%s`", jsonElement.toString())
}
// validate array items
for(element in jsonElement.getAsJsonArray()) {
{{#items}}
{{#isNumber}}
require(jsonElement.getAsJsonPrimitive().isNumber) {
String.format("Expected json element to be of type Number in the JSON string but got `%s`", jsonElement.toString())
}
{{/isNumber}}
{{^isNumber}}
{{#isPrimitiveType}}
require(element.getAsJsonPrimitive().is{{#isBoolean}}Boolean{{/isBoolean}}{{#isString}}String{{/isString}}{{^isString}}{{^isBoolean}}Number{{/isBoolean}}{{/isString}}) {
String.format("Expected array items to be of type {{#isBoolean}}Boolean{{/isBoolean}}{{#isString}}String{{/isString}}{{^isString}}{{^isBoolean}}Number{{/isBoolean}}{{/isString}} in the JSON string but got `%s`", jsonElement.toString())
}
{{/isPrimitiveType}}
{{/isNumber}}
{{^isNumber}}
{{^isPrimitiveType}}
{{{dataType}}}.validateJsonElement(element)
{{/isPrimitiveType}}
{{/isNumber}}
{{/items}}
}
actualAdapter = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}
ret.actualInstance = actualAdapter.fromJsonTree(jsonElement)
return ret
{{/isArray}}
//log.log(Level.FINER, "Input data matches schema '{{{dataType}}}'")
} catch (e: Exception) {
// deserialization failed, continue
errorMessages.add(String.format("Deserialization for {{{dataType}}} failed with `%s`.", e.message))
//log.log(Level.FINER, "Input data does not match schema '{{{dataType}}}'", e)
}
{{/hasVars}}
{{#hasVars}}
// deserialize {{{.}}}
try {
// validate the JSON object to see if any exception is thrown
{{.}}.validateJsonElement(jsonElement)
log.log(Level.FINER, "Input data matches schema '{{{.}}}'")
actualAdapter = adapter{{.}}
ret.actualInstance = actualAdapter.fromJsonTree(jsonElement)
return ret
} catch (e: Exception) {
// deserialization failed, continue
errorMessages.add(String.format("Deserialization for {{{.}}} failed with `%s`.", e.message))
//log.log(Level.FINER, "Input data does not match schema '{{{.}}}'", e)
}
{{/hasVars}}
{{/vendorExtensions.x-duplicated-data-type}}
{{/anyOf}}
{{/composedSchemas}}
throw IOException(String.format("Failed deserialization for {{classname}}: no schema match result. Detailed failure message for anyOf schemas: %s. JSON: %s", errorMessages, jsonElement.toString()))
}
}.nullSafe() as TypeAdapter<T>
}
}
}

View File

@ -3,9 +3,9 @@
All URIs are relative to *{{basePath}}*
Method | HTTP request | Description
------------- | ------------- | -------------
{{#operations}}{{#operation}}[**{{operationId}}**]({{classname}}.md#{{operationId}}) | **{{httpMethod}}** {{path}} | {{summary}}
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
{{#operations}}{{#operation}}| [**{{operationId}}**]({{classname}}.md#{{operationId}}) | **{{httpMethod}}** {{path}} | {{summary}} |
{{/operation}}{{/operations}}
{{#operations}}
@ -42,10 +42,15 @@ try {
```
### Parameters
{{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}}
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------{{/-last}}{{/allParams}}
{{#allParams}} **{{paramName}}** | {{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{#isFile}}**{{dataType}}**{{/isFile}}{{^isFile}}{{#generateModelDocs}}[**{{dataType}}**]({{baseType}}.md){{/generateModelDocs}}{{^generateModelDocs}}**{{dataType}}**{{/generateModelDocs}}{{/isFile}}{{/isPrimitiveType}}| {{description}} |{{^required}} [optional]{{/required}}{{#defaultValue}} [default to {{.}}]{{/defaultValue}}{{#allowableValues}} [enum: {{#values}}{{{.}}}{{^-last}}, {{/-last}}{{/values}}]{{/allowableValues}}
{{^allParams}}
This endpoint does not need any parameter.
{{/allParams}}
{{#allParams}}
{{#-last}}
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
{{/-last}}
| **{{paramName}}** | {{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{#isFile}}**{{dataType}}**{{/isFile}}{{^isFile}}{{#generateModelDocs}}[**{{dataType}}**]({{baseType}}.md){{/generateModelDocs}}{{^generateModelDocs}}**{{dataType}}**{{/generateModelDocs}}{{/isFile}}{{/isPrimitiveType}}| {{description}} |{{^required}} [optional]{{/required}}{{#defaultValue}} [default to {{.}}]{{/defaultValue}}{{#allowableValues}} [enum: {{#values}}{{{.}}}{{^-last}}, {{/-last}}{{/values}}]{{/allowableValues}} |
{{/allParams}}
### Return type
@ -84,4 +89,4 @@ Configure {{name}}:
- **Accept**: {{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}{{^produces}}Not defined{{/produces}}
{{/operation}}
{{/operations}}
{{/operations}}

View File

@ -1,15 +1,15 @@
# {{classname}}
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
{{#vars}}**{{name}}** | {{#isEnum}}[**inline**](#{{datatypeWithEnum}}){{/isEnum}}{{^isEnum}}{{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}[**{{dataType}}**]({{complexType}}.md){{/isPrimitiveType}}{{/isEnum}} | {{description}} | {{^required}} [optional]{{/required}}{{#isReadOnly}} [readonly]{{/isReadOnly}}
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
{{#vars}}| **{{name}}** | {{#isEnum}}[**inline**](#{{datatypeWithEnum}}){{/isEnum}}{{^isEnum}}{{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}[**{{dataType}}**]({{complexType}}.md){{/isPrimitiveType}}{{/isEnum}} | {{description}} | {{^required}} [optional]{{/required}}{{#isReadOnly}} [readonly]{{/isReadOnly}} |
{{/vars}}
{{#vars}}{{#isEnum}}
<a id="{{{datatypeWithEnum}}}"></a>{{!NOTE: see java's resources "pojo_doc.mustache" once enums are fully implemented}}
## Enum: {{baseName}}
Name | Value
---- | -----{{#allowableValues}}
{{name}} | {{#values}}{{.}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}
| Name | Value |
| ---- | ----- |{{#allowableValues}}
| {{name}} | {{#values}}{{.}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}} |
{{/isEnum}}{{/vars}}

View File

@ -1,5 +1,16 @@
{{^multiplatform}}
{{#gson}}
{{#generateOneOfAnyOfWrappers}}
import com.google.gson.Gson
import com.google.gson.JsonElement
import com.google.gson.TypeAdapter
import com.google.gson.TypeAdapterFactory
import com.google.gson.reflect.TypeToken
import com.google.gson.stream.JsonReader
import com.google.gson.stream.JsonWriter
import com.google.gson.annotations.JsonAdapter
import java.io.IOException
{{/generateOneOfAnyOfWrappers}}
import com.google.gson.annotations.SerializedName
{{/gson}}
{{#moshi}}
@ -128,7 +139,9 @@ import {{packageName}}.infrastructure.ITransformForStorage
{{/multiplatform}}
{{/enumVars}}
{{/allowableValues}}
}{{#kotlinx_serialization}}{{#enumUnknownDefaultCase}}
}
{{#kotlinx_serialization}}
{{#enumUnknownDefaultCase}}
@Serializer(forClass = {{{nameInPascalCase}}}::class)
internal object {{nameInPascalCase}}Serializer : KSerializer<{{nameInPascalCase}}> {
@ -143,10 +156,208 @@ import {{packageName}}.infrastructure.ITransformForStorage
override fun serialize(encoder: Encoder, value: {{nameInPascalCase}}) {
encoder.encodeSerializableValue({{{dataType}}}.serializer(), value.value)
}
}{{/enumUnknownDefaultCase}}{{/kotlinx_serialization}}
}
{{/enumUnknownDefaultCase}}
{{/kotlinx_serialization}}
{{/isEnum}}
{{/vars}}
{{/hasEnums}}
{{#generateOneOfAnyOfWrappers}}
class CustomTypeAdapterFactory : TypeAdapterFactory {
override fun <T> create(gson: Gson, type: TypeToken<T>): TypeAdapter<T>? {
if (!{{classname}}::class.java.isAssignableFrom(type.rawType)) {
return null // this class only serializes '{{classname}}' and its subtypes
}
val elementAdapter = gson.getAdapter(JsonElement::class.java)
val thisAdapter = gson.getDelegateAdapter(this, TypeToken.get({{classname}}::class.java))
@Suppress("UNCHECKED_CAST")
return object : TypeAdapter<{{classname}}>() {
@Throws(IOException::class)
override fun write(out: JsonWriter, value: {{classname}}) {
val obj = thisAdapter.toJsonTree(value).getAsJsonObject()
elementAdapter.write(out, obj)
}
@Throws(IOException::class)
override fun read(jsonReader: JsonReader): {{classname}} {
val jsonElement = elementAdapter.read(jsonReader)
validateJsonElement(jsonElement)
return thisAdapter.fromJsonTree(jsonElement)
}
}.nullSafe() as TypeAdapter<T>
}
}
companion object {
var openapiFields = HashSet<String>()
var openapiRequiredFields = HashSet<String>()
init {
{{#allVars}}
{{#-first}}
// a set of all properties/fields (JSON key names)
{{/-first}}
openapiFields.add("{{baseName}}")
{{/allVars}}
{{#requiredVars}}
{{#-first}}
// a set of required properties/fields (JSON key names)
{{/-first}}
openapiRequiredFields.add("{{baseName}}")
{{/requiredVars}}
}
/**
* Validates the JSON Element and throws an exception if issues found
*
* @param jsonElement JSON Element
* @throws IOException if the JSON Element is invalid with respect to {{classname}}
*/
@Throws(IOException::class)
fun validateJsonElement(jsonElement: JsonElement?) {
if (jsonElement == null) {
require(openapiRequiredFields.isEmpty()) { // has required fields but JSON element is null
String.format("The required field(s) %s in {{{classname}}} is not found in the empty JSON string", {{classname}}.openapiRequiredFields.toString())
}
}
{{^hasChildren}}
{{#requiredVars}}
{{#-first}}
// check to make sure all required properties/fields are present in the JSON string
for (requiredField in openapiRequiredFields) {
requireNotNull(jsonElement!!.getAsJsonObject()[requiredField]) {
String.format("The required field `%s` is not found in the JSON string: %s", requiredField, jsonElement.toString())
}
}
{{/-first}}
{{/requiredVars}}
{{/hasChildren}}
{{^discriminator}}
{{#hasVars}}
val jsonObj = jsonElement!!.getAsJsonObject()
{{/hasVars}}
{{#vars}}
{{#isArray}}
{{#items.isModel}}
{{#required}}
// ensure the json data is an array
if (!jsonObj.get("{{{baseName}}}").isJsonArray) {
throw new IllegalArgumentException(String.format("Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString()))
}
JsonArray jsonArray{{name}} = jsonObj.getAsJsonArray("{{{baseName}}}")
// validate the required field `{{{baseName}}}` (array)
for (i in 0 until jsonArray{{name}}.size()) {
{{{items.dataType}}}.validateJsonElement(jsonArray{{name}}.get(i))
}
{{/required}}
{{^required}}
if (jsonObj["{{{baseName}}}"] != null && !jsonObj["{{{baseName}}}"].isJsonNull) {
val jsonArray{{name}} = jsonObj.getAsJsonArray("{{{baseName}}}")
if (jsonArray{{name}} != null) {
// ensure the json data is an array
require(jsonObj["{{{baseName}}}"].isJsonArray) {
String.format("Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString())
}
// validate the optional field `{{{baseName}}}` (array)
for (i in 0 until jsonArray{{name}}.size()) {
{{{items.dataType}}}.validateJsonElement(jsonArray{{name}}[i])
}
}
}
{{/required}}
{{/items.isModel}}
{{^items.isModel}}
{{^required}}
// ensure the optional json data is an array if present
if (jsonObj["{{{baseName}}}"] != null && !jsonObj["{{{baseName}}}"].isJsonNull) {
require(jsonObj["{{{baseName}}}"].isJsonArray()) {
String.format("Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString())
}
}
{{/required}}
{{#required}}
// ensure the required json array is present
requireNotNull(jsonObj["{{{baseName}}}"]) {
"Expected the field `{{{baseName}}}` to be an array in the JSON string but got `null`"
}
require(jsonObj["{{{baseName}}}"].isJsonArray()) {
String.format("Expected the field `{{{baseName}}}` to be an array in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString())
}
{{/required}}
{{/items.isModel}}
{{/isArray}}
{{^isContainer}}
{{#isString}}
{{#notRequiredOrIsNullable}}
if (jsonObj["{{{baseName}}}"] != null && !jsonObj["{{{baseName}}}"].isJsonNull) {
require(jsonObj.get("{{{baseName}}}").isJsonPrimitive) {
String.format("Expected the field `{{{baseName}}}` to be a primitive type in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString())
}
}
{{/notRequiredOrIsNullable}}
{{^notRequiredOrIsNullable}}
require(jsonObj["{{{baseName}}}"].isJsonPrimitive) {
String.format("Expected the field `{{{baseName}}}` to be a primitive type in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString())
}
{{/notRequiredOrIsNullable}}
{{/isString}}
{{#isModel}}
{{#required}}
// validate the required field `{{{baseName}}}`
{{{dataType}}}.validateJsonElement(jsonObj["{{{baseName}}}"])
{{/required}}
{{^required}}
// validate the optional field `{{{baseName}}}`
if (jsonObj["{{{baseName}}}"] != null && !jsonObj["{{{baseName}}}"].isJsonNull) {
{{{dataType}}}.validateJsonElement(jsonObj["{{{baseName}}}"])
}
{{/required}}
{{/isModel}}
{{#isEnum}}
{{#required}}
// validate the required field `{{{baseName}}}`
require({{{datatypeWithEnum}}}.values().any { it.value == jsonObj["{{{baseName}}}"].asString }) {
String.format("Expected the field `{{{baseName}}}` to be valid `{{{datatypeWithEnum}}}` enum value in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString())
}
{{/required}}
{{^required}}
// validate the optional field `{{{baseName}}}`
if (jsonObj["{{{baseName}}}"] != null && !jsonObj["{{{baseName}}}"].isJsonNull) {
require({{{datatypeWithEnum}}}.values().any { it.value == jsonObj["{{{baseName}}}"].asString }) {
String.format("Expected the field `{{{baseName}}}` to be valid `{{{datatypeWithEnum}}}` enum value in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString())
}
}
{{/required}}
{{/isEnum}}
{{#isEnumRef}}
{{#required}}
// validate the required field `{{{baseName}}}`
require({{{dataType}}}.values().any { it.value == jsonObj["{{{baseName}}}"].asString }) {
String.format("Expected the field `{{{baseName}}}` to be valid `{{{dataType}}}` enum value in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString())
}
{{/required}}
{{^required}}
// validate the optional field `{{{baseName}}}`
if (jsonObj["{{{baseName}}}"] != null && !jsonObj["{{{baseName}}}"].isJsonNull) {
require({{{dataType}}}.values().any { it.value == jsonObj["{{{baseName}}}"].asString }) {
String.format("Expected the field `{{{baseName}}}` to be valid `{{{dataType}}}` enum value in the JSON string but got `%s`", jsonObj["{{{baseName}}}"].toString())
}
}
{{/required}}
{{/isEnumRef}}
{{/isContainer}}
{{/vars}}
{{/discriminator}}
}
}
{{/generateOneOfAnyOfWrappers}}
{{#vendorExtensions.x-has-data-class-body}}
}
{{/vendorExtensions.x-has-data-class-body}}

View File

@ -3,9 +3,9 @@
All URIs are relative to *{{basePath}}*
Method | HTTP request | Description
------------- | ------------- | -------------
{{#operations}}{{#operation}}[**{{operationId}}**]({{classname}}.md#{{operationId}}) | **{{httpMethod}}** {{path}} | {{summary}}
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
{{#operations}}{{#operation}}| [**{{operationId}}**]({{classname}}.md#{{operationId}}) | **{{httpMethod}}** {{path}} | {{summary}} |
{{/operation}}{{/operations}}
{{#operations}}
@ -48,10 +48,15 @@ launch(Dispatchers.IO) {
```
### Parameters
{{^allParams}}This endpoint does not need any parameter.{{/allParams}}{{#allParams}}{{#-last}}
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------{{/-last}}{{/allParams}}
{{#allParams}} **{{paramName}}** | {{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{#isFile}}**{{dataType}}**{{/isFile}}{{^isFile}}{{#generateModelDocs}}[**{{dataType}}**]({{baseType}}.md){{/generateModelDocs}}{{^generateModelDocs}}**{{dataType}}**{{/generateModelDocs}}{{/isFile}}{{/isPrimitiveType}}| {{description}} |{{^required}} [optional]{{/required}}{{#defaultValue}} [default to {{.}}]{{/defaultValue}}{{#allowableValues}} [enum: {{#values}}{{{.}}}{{^-last}}, {{/-last}}{{/values}}]{{/allowableValues}}
{{^allParams}}
This endpoint does not need any parameter.
{{/allParams}}
{{#allParams}}
{{#-last}}
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
{{/-last}}
| **{{paramName}}** | {{#isPrimitiveType}}**{{dataType}}**{{/isPrimitiveType}}{{^isPrimitiveType}}{{#isFile}}**{{dataType}}**{{/isFile}}{{^isFile}}{{#generateModelDocs}}[**{{dataType}}**]({{baseType}}.md){{/generateModelDocs}}{{^generateModelDocs}}**{{dataType}}**{{/generateModelDocs}}{{/isFile}}{{/isPrimitiveType}}| {{description}} |{{^required}} [optional]{{/required}}{{#defaultValue}} [default to {{.}}]{{/defaultValue}}{{#allowableValues}} [enum: {{#values}}{{{.}}}{{^-last}}, {{/-last}}{{/values}}]{{/allowableValues}} |
{{/allParams}}
### Return type

View File

@ -148,6 +148,21 @@ import okhttp3.MediaType.Companion.toMediaType
addAuthorization(authName, auth)
}
}
{{#generateOneOfAnyOfWrappers}}
{{^kotlinx_serialization}}
{{#gson}}
{{#models}}
{{#model}}
{{^isEnum}}
{{^hasChildren}}
serializerBuilder.registerTypeAdapterFactory({{modelPackage}}.{{{classname}}}.CustomTypeAdapterFactory())
{{/hasChildren}}
{{/isEnum}}
{{/model}}
{{/models}}
{{/gson}}
{{/kotlinx_serialization}}
{{/generateOneOfAnyOfWrappers}}
}
{{#authMethods}}
@ -162,6 +177,21 @@ import okhttp3.MediaType.Companion.toMediaType
password: String
) : this(baseUrl, okHttpClientBuilder, {{^kotlinx_serialization}}serializerBuilder, {{/kotlinx_serialization}}arrayOf(authName)) {
setCredentials(username, password)
{{#generateOneOfAnyOfWrappers}}
{{^kotlinx_serialization}}
{{#gson}}
{{#models}}
{{#model}}
{{^isEnum}}
{{^hasChildren}}
serializerBuilder.registerTypeAdapterFactory({{modelPackage}}.{{{classname}}}.CustomTypeAdapterFactory())
{{/hasChildren}}
{{/isEnum}}
{{/model}}
{{/models}}
{{/gson}}
{{/kotlinx_serialization}}
{{/generateOneOfAnyOfWrappers}}
}
{{/isBasicBasic}}
@ -174,6 +204,21 @@ import okhttp3.MediaType.Companion.toMediaType
bearerToken: String
) : this(baseUrl, okHttpClientBuilder, {{^kotlinx_serialization}}serializerBuilder, {{/kotlinx_serialization}}arrayOf(authName)) {
setBearerToken(bearerToken)
{{#generateOneOfAnyOfWrappers}}
{{^kotlinx_serialization}}
{{#gson}}
{{#models}}
{{#model}}
{{^isEnum}}
{{^hasChildren}}
serializerBuilder.registerTypeAdapterFactory({{modelPackage}}.{{{classname}}}.CustomTypeAdapterFactory())
{{/hasChildren}}
{{/isEnum}}
{{/model}}
{{/models}}
{{/gson}}
{{/kotlinx_serialization}}
{{/generateOneOfAnyOfWrappers}}
}
{{/isBasicBearer}}
@ -195,6 +240,21 @@ import okhttp3.MediaType.Companion.toMediaType
?.setClientSecret(secret)
?.setUsername(username)
?.setPassword(password)
{{#generateOneOfAnyOfWrappers}}
{{^kotlinx_serialization}}
{{#gson}}
{{#models}}
{{#model}}
{{^isEnum}}
{{^hasChildren}}
serializerBuilder.registerTypeAdapterFactory({{modelPackage}}.{{{classname}}}.CustomTypeAdapterFactory())
{{/hasChildren}}
{{/isEnum}}
{{/model}}
{{/models}}
{{/gson}}
{{/kotlinx_serialization}}
{{/generateOneOfAnyOfWrappers}}
}
{{/hasOAuthMethods}}

View File

@ -6,6 +6,11 @@ package {{modelPackage}}
{{#models}}
{{#model}}
{{^generateOneOfAnyOfWrappers}}
{{#isEnum}}{{>enum_class}}{{/isEnum}}{{^isEnum}}{{#isAlias}}typealias {{classname}} = {{{dataType}}}{{/isAlias}}{{^isAlias}}{{>data_class}}{{/isAlias}}{{/isEnum}}
{{/generateOneOfAnyOfWrappers}}
{{#generateOneOfAnyOfWrappers}}
{{#isEnum}}{{>enum_class}}{{/isEnum}}{{^isEnum}}{{#isAlias}}typealias {{classname}} = {{{dataType}}}{{/isAlias}}{{^isAlias}}{{#oneOf}}{{#-first}}{{>oneof_class}}{{/-first}}{{/oneOf}}{{#anyOf}}{{#-first}}{{>anyof_class}}{{/-first}}{{/anyOf}}{{^oneOf}}{{^anyOf}}{{>data_class}}{{/anyOf}}{{/oneOf}}{{/isAlias}}{{/isEnum}}
{{/generateOneOfAnyOfWrappers}}
{{/model}}
{{/models}}

View File

@ -0,0 +1,241 @@
{{^multiplatform}}
{{#gson}}
{{#generateOneOfAnyOfWrappers}}
import com.google.gson.Gson
import com.google.gson.JsonElement
import com.google.gson.TypeAdapter
import com.google.gson.TypeAdapterFactory
import com.google.gson.reflect.TypeToken
import com.google.gson.stream.JsonReader
import com.google.gson.stream.JsonWriter
import com.google.gson.annotations.JsonAdapter
{{/generateOneOfAnyOfWrappers}}
import com.google.gson.annotations.SerializedName
{{/gson}}
{{#moshi}}
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
{{/moshi}}
{{#jackson}}
{{#enumUnknownDefaultCase}}
import com.fasterxml.jackson.annotation.JsonEnumDefaultValue
{{/enumUnknownDefaultCase}}
import com.fasterxml.jackson.annotation.JsonProperty
{{#discriminator}}
import com.fasterxml.jackson.annotation.JsonSubTypes
import com.fasterxml.jackson.annotation.JsonTypeInfo
{{/discriminator}}
{{/jackson}}
{{#kotlinx_serialization}}
import {{#serializableModel}}kotlinx.serialization.Serializable as KSerializable{{/serializableModel}}{{^serializableModel}}kotlinx.serialization.Serializable{{/serializableModel}}
import kotlinx.serialization.SerialName
import kotlinx.serialization.Contextual
{{#enumUnknownDefaultCase}}
import kotlinx.serialization.KSerializer
import kotlinx.serialization.Serializer
import kotlinx.serialization.builtins.serializer
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
{{/enumUnknownDefaultCase}}
{{#hasEnums}}
{{/hasEnums}}
{{/kotlinx_serialization}}
{{#parcelizeModels}}
import android.os.Parcelable
import kotlinx.parcelize.Parcelize
{{/parcelizeModels}}
{{/multiplatform}}
{{#multiplatform}}
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*
{{/multiplatform}}
{{#serializableModel}}
import java.io.Serializable
{{/serializableModel}}
{{#generateRoomModels}}
import {{roomModelPackage}}.{{classname}}RoomModel
import {{packageName}}.infrastructure.ITransformForStorage
{{/generateRoomModels}}
import java.io.IOException
/**
* {{{description}}}
*
*/
{{#parcelizeModels}}
@Parcelize
{{/parcelizeModels}}
{{#multiplatform}}{{^discriminator}}@Serializable{{/discriminator}}{{/multiplatform}}{{#kotlinx_serialization}}{{#serializableModel}}@KSerializable{{/serializableModel}}{{^serializableModel}}@Serializable{{/serializableModel}}{{/kotlinx_serialization}}{{#moshi}}{{#moshiCodeGen}}@JsonClass(generateAdapter = true){{/moshiCodeGen}}{{/moshi}}{{#jackson}}{{#discriminator}}{{>typeInfoAnnotation}}{{/discriminator}}{{/jackson}}
{{#isDeprecated}}
@Deprecated(message = "This schema is deprecated.")
{{/isDeprecated}}
{{>additionalModelTypeAnnotations}}
{{#nonPublicApi}}internal {{/nonPublicApi}}data class {{classname}}(var actualInstance: Any? = null) {
class CustomTypeAdapterFactory : TypeAdapterFactory {
override fun <T> create(gson: Gson, type: TypeToken<T>): TypeAdapter<T>? {
if (!{{classname}}::class.java.isAssignableFrom(type.rawType)) {
return null // this class only serializes '{{classname}}' and its subtypes
}
val elementAdapter = gson.getAdapter(JsonElement::class.java)
{{#composedSchemas}}
{{#oneOf}}
{{^isArray}}
{{^vendorExtensions.x-duplicated-data-type}}
val adapter{{{dataType}}} = gson.getDelegateAdapter(this, TypeToken.get({{{dataType}}}::class.java))
{{/vendorExtensions.x-duplicated-data-type}}
{{/isArray}}
{{#isArray}}
@Suppress("UNCHECKED_CAST")
val adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}} = gson.getDelegateAdapter(this, TypeToken.get(object : TypeToken<{{{dataType}}}>() {}.type)) as TypeAdapter<{{{dataType}}}>
{{/isArray}}
{{/oneOf}}
{{/composedSchemas}}
@Suppress("UNCHECKED_CAST")
return object : TypeAdapter<{{classname}}?>() {
@Throws(IOException::class)
override fun write(out: JsonWriter,value: {{classname}}?) {
if (value?.actualInstance == null) {
elementAdapter.write(out, null)
return
}
{{#composedSchemas}}
{{#oneOf}}
{{^vendorExtensions.x-duplicated-data-type}}
// check if the actual instance is of the type `{{{dataType}}}`
if (value.actualInstance is {{#isArray}}List<*>{{/isArray}}{{^isArray}}{{{dataType}}}{{/isArray}}) {
{{#isPrimitiveType}}
val primitive = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonPrimitive()
elementAdapter.write(out, primitive)
return
{{/isPrimitiveType}}
{{^isPrimitiveType}}
{{#isArray}}
List<?> list = (List<?>) value.actualInstance
if (list.get(0) is {{{items.dataType}}}) {
val array = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}.toJsonTree(value.actualInstance as {{{dataType}}}?).getAsJsonArray()
elementAdapter.write(out, array)
return
}
{{/isArray}}
{{/isPrimitiveType}}
{{^isArray}}
{{^isPrimitiveType}}
val element = adapter{{{dataType}}}.toJsonTree(value.actualInstance as {{{dataType}}}?)
elementAdapter.write(out, element)
return
{{/isPrimitiveType}}
{{/isArray}}
}
{{/vendorExtensions.x-duplicated-data-type}}
{{/oneOf}}
{{/composedSchemas}}
throw IOException("Failed to serialize as the type doesn't match oneOf schemas: {{#oneOf}}{{{.}}}{{^-last}}, {{/-last}}{{/oneOf}}")
}
@Throws(IOException::class)
override fun read(jsonReader: JsonReader): {{classname}} {
val jsonElement = elementAdapter.read(jsonReader)
var match = 0
val errorMessages = ArrayList<String>()
var actualAdapter: TypeAdapter<*> = elementAdapter
{{#composedSchemas}}
{{#oneOf}}
{{^vendorExtensions.x-duplicated-data-type}}
{{^hasVars}}
// deserialize {{{dataType}}}
try {
// validate the JSON object to see if any exception is thrown
{{^isArray}}
{{#isNumber}}
require(jsonElement.getAsJsonPrimitive().isNumber()) {
String.format("Expected json element to be of type Number in the JSON string but got `%s`", jsonElement.toString())
}
actualAdapter = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}
{{/isNumber}}
{{^isNumber}}
{{#isPrimitiveType}}
require(jsonElement.getAsJsonPrimitive().is{{#isBoolean}}Boolean{{/isBoolean}}{{#isString}}String{{/isString}}{{^isString}}{{^isBoolean}}Number{{/isBoolean}}{{/isString}}()) {
String.format("Expected json element to be of type {{#isBoolean}}Boolean{{/isBoolean}}{{#isString}}String{{/isString}}{{^isString}}{{^isBoolean}}Number{{/isBoolean}}{{/isString}} in the JSON string but got `%s`", jsonElement.toString())
}
actualAdapter = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}
{{/isPrimitiveType}}
{{/isNumber}}
{{^isNumber}}
{{^isPrimitiveType}}
{{{dataType}}}.validateJsonElement(jsonElement)
actualAdapter = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}
{{/isPrimitiveType}}
{{/isNumber}}
{{/isArray}}
{{#isArray}}
require(jsonElement.isJsonArray) {
String.format("Expected json element to be a array type in the JSON string but got `%s`", jsonElement.toString())
}
// validate array items
for(element in jsonElement.getAsJsonArray()) {
{{#items}}
{{#isNumber}}
require(jsonElement.getAsJsonPrimitive().isNumber) {
String.format("Expected json element to be of type Number in the JSON string but got `%s`", jsonElement.toString())
}
{{/isNumber}}
{{^isNumber}}
{{#isPrimitiveType}}
require(element.getAsJsonPrimitive().is{{#isBoolean}}Boolean{{/isBoolean}}{{#isString}}String{{/isString}}{{^isString}}{{^isBoolean}}Number{{/isBoolean}}{{/isString}}) {
String.format("Expected array items to be of type {{#isBoolean}}Boolean{{/isBoolean}}{{#isString}}String{{/isString}}{{^isString}}{{^isBoolean}}Number{{/isBoolean}}{{/isString}} in the JSON string but got `%s`", jsonElement.toString())
}
{{/isPrimitiveType}}
{{/isNumber}}
{{^isNumber}}
{{^isPrimitiveType}}
{{{dataType}}}.validateJsonElement(element)
{{/isPrimitiveType}}
{{/isNumber}}
{{/items}}
}
actualAdapter = adapter{{#sanitizeGeneric}}{{{dataType}}}{{/sanitizeGeneric}}
{{/isArray}}
match++
//log.log(Level.FINER, "Input data matches schema '{{{dataType}}}'")
} catch (e: Exception) {
// deserialization failed, continue
errorMessages.add(String.format("Deserialization for {{{dataType}}} failed with `%s`.", e.message))
//log.log(Level.FINER, "Input data does not match schema '{{{dataType}}}'", e)
}
{{/hasVars}}
{{#hasVars}}
// deserialize {{{.}}}
try {
// validate the JSON object to see if any exception is thrown
{{.}}.validateJsonElement(jsonElement)
actualAdapter = adapter{{.}}
match++
//log.log(Level.FINER, "Input data matches schema '{{{.}}}'")
} catch (e: Exception) {
// deserialization failed, continue
errorMessages.add(String.format("Deserialization for {{{.}}} failed with `%s`.", e.message))
//log.log(Level.FINER, "Input data does not match schema '{{{.}}}'", e)
}
{{/hasVars}}
{{/vendorExtensions.x-duplicated-data-type}}
{{/oneOf}}
{{/composedSchemas}}
if (match == 1) {
val ret = {{classname}}()
ret.actualInstance = actualAdapter.fromJsonTree(jsonElement)
return ret
}
throw IOException(String.format("Failed deserialization for {{classname}}: %d classes match result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", match, errorMessages, jsonElement.toString()))
}
}.nullSafe() as TypeAdapter<T>
}
}
}

View File

@ -690,6 +690,8 @@ components:
description: User Status
xml:
name: User
required:
- username
Tag:
title: Pet Tag
description: A tag for a pet
@ -760,3 +762,25 @@ components:
id:
type: string
format: uuid
UserOrPet:
oneOf:
- $ref: "#/components/schemas/User"
- $ref: "#/components/schemas/Pet"
UserOrPetOrArrayString:
oneOf:
- $ref: "#/components/schemas/User"
- $ref: "#/components/schemas/Pet"
- type: array
items:
type: string
AnyOfUserOrPet:
anyOf:
- $ref: "#/components/schemas/User"
- $ref: "#/components/schemas/Pet"
AnyOfUserOrPetOrArrayString:
anyOf:
- $ref: "#/components/schemas/User"
- $ref: "#/components/schemas/Pet"
- type: array
items:
type: string

View File

@ -43,28 +43,28 @@ This runs all tests and packages the library.
All URIs are relative to *http://localhost:3000*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AuthApi* | [**testAuthHttpBasic**](docs/AuthApi.md#testauthhttpbasic) | **POST** /auth/http/basic | To test HTTP basic authentication
*AuthApi* | [**testAuthHttpBearer**](docs/AuthApi.md#testauthhttpbearer) | **POST** /auth/http/bearer | To test HTTP bearer authentication
*BodyApi* | [**testBinaryGif**](docs/BodyApi.md#testbinarygif) | **POST** /binary/gif | Test binary (gif) response body
*BodyApi* | [**testBodyApplicationOctetstreamBinary**](docs/BodyApi.md#testbodyapplicationoctetstreambinary) | **POST** /body/application/octetstream/binary | Test body parameter(s)
*BodyApi* | [**testBodyMultipartFormdataArrayOfBinary**](docs/BodyApi.md#testbodymultipartformdataarrayofbinary) | **POST** /body/application/octetstream/array_of_binary | Test array of binary in multipart mime
*BodyApi* | [**testBodyMultipartFormdataSingleBinary**](docs/BodyApi.md#testbodymultipartformdatasinglebinary) | **POST** /body/application/octetstream/single_binary | Test single binary in multipart mime
*BodyApi* | [**testEchoBodyFreeFormObjectResponseString**](docs/BodyApi.md#testechobodyfreeformobjectresponsestring) | **POST** /echo/body/FreeFormObject/response_string | Test free form object
*BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** /echo/body/Pet | Test body parameter(s)
*BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** /echo/body/Pet/response_string | Test empty response body
*BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** /echo/body/Tag/response_string | Test empty json (request body)
*FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** /form/integer/boolean/string | Test form parameter(s)
*FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema
*HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s)
*PathApi* | [**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](docs/PathApi.md#testspathstringpathstringintegerpathintegerenumnonrefstringpathenumrefstringpath) | **GET** /path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s)
*QueryApi* | [**testEnumRefString**](docs/QueryApi.md#testenumrefstring) | **GET** /query/enum_ref_string | Test query parameter(s)
*QueryApi* | [**testQueryDatetimeDateString**](docs/QueryApi.md#testquerydatetimedatestring) | **GET** /query/datetime/date/string | Test query parameter(s)
*QueryApi* | [**testQueryIntegerBooleanString**](docs/QueryApi.md#testqueryintegerbooleanstring) | **GET** /query/integer/boolean/string | Test query parameter(s)
*QueryApi* | [**testQueryStyleDeepObjectExplodeTrueObject**](docs/QueryApi.md#testquerystyledeepobjectexplodetrueobject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s)
*QueryApi* | [**testQueryStyleFormExplodeTrueArrayString**](docs/QueryApi.md#testquerystyleformexplodetruearraystring) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s)
*QueryApi* | [**testQueryStyleFormExplodeTrueObject**](docs/QueryApi.md#testquerystyleformexplodetrueobject) | **GET** /query/style_form/explode_true/object | Test query parameter(s)
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
| *AuthApi* | [**testAuthHttpBasic**](docs/AuthApi.md#testauthhttpbasic) | **POST** /auth/http/basic | To test HTTP basic authentication |
| *AuthApi* | [**testAuthHttpBearer**](docs/AuthApi.md#testauthhttpbearer) | **POST** /auth/http/bearer | To test HTTP bearer authentication |
| *BodyApi* | [**testBinaryGif**](docs/BodyApi.md#testbinarygif) | **POST** /binary/gif | Test binary (gif) response body |
| *BodyApi* | [**testBodyApplicationOctetstreamBinary**](docs/BodyApi.md#testbodyapplicationoctetstreambinary) | **POST** /body/application/octetstream/binary | Test body parameter(s) |
| *BodyApi* | [**testBodyMultipartFormdataArrayOfBinary**](docs/BodyApi.md#testbodymultipartformdataarrayofbinary) | **POST** /body/application/octetstream/array_of_binary | Test array of binary in multipart mime |
| *BodyApi* | [**testBodyMultipartFormdataSingleBinary**](docs/BodyApi.md#testbodymultipartformdatasinglebinary) | **POST** /body/application/octetstream/single_binary | Test single binary in multipart mime |
| *BodyApi* | [**testEchoBodyFreeFormObjectResponseString**](docs/BodyApi.md#testechobodyfreeformobjectresponsestring) | **POST** /echo/body/FreeFormObject/response_string | Test free form object |
| *BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** /echo/body/Pet | Test body parameter(s) |
| *BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** /echo/body/Pet/response_string | Test empty response body |
| *BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** /echo/body/Tag/response_string | Test empty json (request body) |
| *FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** /form/integer/boolean/string | Test form parameter(s) |
| *FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema |
| *HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s) |
| *PathApi* | [**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](docs/PathApi.md#testspathstringpathstringintegerpathintegerenumnonrefstringpathenumrefstringpath) | **GET** /path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s) |
| *QueryApi* | [**testEnumRefString**](docs/QueryApi.md#testenumrefstring) | **GET** /query/enum_ref_string | Test query parameter(s) |
| *QueryApi* | [**testQueryDatetimeDateString**](docs/QueryApi.md#testquerydatetimedatestring) | **GET** /query/datetime/date/string | Test query parameter(s) |
| *QueryApi* | [**testQueryIntegerBooleanString**](docs/QueryApi.md#testqueryintegerbooleanstring) | **GET** /query/integer/boolean/string | Test query parameter(s) |
| *QueryApi* | [**testQueryStyleDeepObjectExplodeTrueObject**](docs/QueryApi.md#testquerystyledeepobjectexplodetrueobject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) |
| *QueryApi* | [**testQueryStyleFormExplodeTrueArrayString**](docs/QueryApi.md#testquerystyleformexplodetruearraystring) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) |
| *QueryApi* | [**testQueryStyleFormExplodeTrueObject**](docs/QueryApi.md#testquerystyleformexplodetrueobject) | **GET** /query/style_form/explode_true/object | Test query parameter(s) |
<a id="documentation-for-models"></a>

View File

@ -2,10 +2,10 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testAuthHttpBasic**](AuthApi.md#testAuthHttpBasic) | **POST** /auth/http/basic | To test HTTP basic authentication
[**testAuthHttpBearer**](AuthApi.md#testAuthHttpBearer) | **POST** /auth/http/bearer | To test HTTP bearer authentication
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testAuthHttpBasic**](AuthApi.md#testAuthHttpBasic) | **POST** /auth/http/basic | To test HTTP basic authentication |
| [**testAuthHttpBearer**](AuthApi.md#testAuthHttpBearer) | **POST** /auth/http/bearer | To test HTTP bearer authentication |
<a id="testAuthHttpBasic"></a>

View File

@ -2,10 +2,10 @@
# Bird
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**propertySize** | **kotlin.String** | | [optional]
**color** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **propertySize** | **kotlin.String** | | [optional] |
| **color** | **kotlin.String** | | [optional] |

View File

@ -2,16 +2,16 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testBinaryGif**](BodyApi.md#testBinaryGif) | **POST** /binary/gif | Test binary (gif) response body
[**testBodyApplicationOctetstreamBinary**](BodyApi.md#testBodyApplicationOctetstreamBinary) | **POST** /body/application/octetstream/binary | Test body parameter(s)
[**testBodyMultipartFormdataArrayOfBinary**](BodyApi.md#testBodyMultipartFormdataArrayOfBinary) | **POST** /body/application/octetstream/array_of_binary | Test array of binary in multipart mime
[**testBodyMultipartFormdataSingleBinary**](BodyApi.md#testBodyMultipartFormdataSingleBinary) | **POST** /body/application/octetstream/single_binary | Test single binary in multipart mime
[**testEchoBodyFreeFormObjectResponseString**](BodyApi.md#testEchoBodyFreeFormObjectResponseString) | **POST** /echo/body/FreeFormObject/response_string | Test free form object
[**testEchoBodyPet**](BodyApi.md#testEchoBodyPet) | **POST** /echo/body/Pet | Test body parameter(s)
[**testEchoBodyPetResponseString**](BodyApi.md#testEchoBodyPetResponseString) | **POST** /echo/body/Pet/response_string | Test empty response body
[**testEchoBodyTagResponseString**](BodyApi.md#testEchoBodyTagResponseString) | **POST** /echo/body/Tag/response_string | Test empty json (request body)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testBinaryGif**](BodyApi.md#testBinaryGif) | **POST** /binary/gif | Test binary (gif) response body |
| [**testBodyApplicationOctetstreamBinary**](BodyApi.md#testBodyApplicationOctetstreamBinary) | **POST** /body/application/octetstream/binary | Test body parameter(s) |
| [**testBodyMultipartFormdataArrayOfBinary**](BodyApi.md#testBodyMultipartFormdataArrayOfBinary) | **POST** /body/application/octetstream/array_of_binary | Test array of binary in multipart mime |
| [**testBodyMultipartFormdataSingleBinary**](BodyApi.md#testBodyMultipartFormdataSingleBinary) | **POST** /body/application/octetstream/single_binary | Test single binary in multipart mime |
| [**testEchoBodyFreeFormObjectResponseString**](BodyApi.md#testEchoBodyFreeFormObjectResponseString) | **POST** /echo/body/FreeFormObject/response_string | Test free form object |
| [**testEchoBodyPet**](BodyApi.md#testEchoBodyPet) | **POST** /echo/body/Pet | Test body parameter(s) |
| [**testEchoBodyPetResponseString**](BodyApi.md#testEchoBodyPetResponseString) | **POST** /echo/body/Pet/response_string | Test empty response body |
| [**testEchoBodyTagResponseString**](BodyApi.md#testEchoBodyTagResponseString) | **POST** /echo/body/Tag/response_string | Test empty json (request body) |
<a id="testBinaryGif"></a>
@ -86,10 +86,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **java.io.File**| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | **java.io.File**| | [optional] |
### Return type
@ -133,10 +132,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**files** | **kotlin.collections.List&lt;java.io.File&gt;**| |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **files** | **kotlin.collections.List&lt;java.io.File&gt;**| | |
### Return type
@ -180,10 +178,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**myFile** | **java.io.File**| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **myFile** | **java.io.File**| | [optional] |
### Return type
@ -227,10 +224,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **kotlin.Any**| Free form object | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | **kotlin.Any**| Free form object | [optional] |
### Return type
@ -274,10 +270,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | [optional] |
### Return type
@ -321,10 +316,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | [optional] |
### Return type
@ -368,10 +362,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**tag** | [**Tag**](Tag.md)| Tag object | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **tag** | [**Tag**](Tag.md)| Tag object | [optional] |
### Return type

View File

@ -2,10 +2,10 @@
# Category
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**name** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **name** | **kotlin.String** | | [optional] |

View File

@ -2,23 +2,23 @@
# DefaultValue
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**arrayStringEnumRefDefault** | [**kotlin.collections.List&lt;StringEnumRef&gt;**](StringEnumRef.md) | | [optional]
**arrayStringEnumDefault** | [**inline**](#kotlin.collections.List&lt;ArrayStringEnumDefault&gt;) | | [optional]
**arrayStringDefault** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**arrayIntegerDefault** | **kotlin.collections.List&lt;kotlin.Int&gt;** | | [optional]
**arrayString** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**arrayStringNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**arrayStringExtensionNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**stringNullable** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **arrayStringEnumRefDefault** | [**kotlin.collections.List&lt;StringEnumRef&gt;**](StringEnumRef.md) | | [optional] |
| **arrayStringEnumDefault** | [**inline**](#kotlin.collections.List&lt;ArrayStringEnumDefault&gt;) | | [optional] |
| **arrayStringDefault** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **arrayIntegerDefault** | **kotlin.collections.List&lt;kotlin.Int&gt;** | | [optional] |
| **arrayString** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **arrayStringNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **arrayStringExtensionNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **stringNullable** | **kotlin.String** | | [optional] |
<a id="kotlin.collections.List<ArrayStringEnumDefault>"></a>
## Enum: array_string_enum_default
Name | Value
---- | -----
arrayStringEnumDefault | success, failure, unclassified
| Name | Value |
| ---- | ----- |
| arrayStringEnumDefault | success, failure, unclassified |

View File

@ -2,10 +2,10 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testFormIntegerBooleanString**](FormApi.md#testFormIntegerBooleanString) | **POST** /form/integer/boolean/string | Test form parameter(s)
[**testFormOneof**](FormApi.md#testFormOneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testFormIntegerBooleanString**](FormApi.md#testFormIntegerBooleanString) | **POST** /form/integer/boolean/string | Test form parameter(s) |
| [**testFormOneof**](FormApi.md#testFormOneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema |
<a id="testFormIntegerBooleanString"></a>
@ -39,12 +39,11 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**integerForm** | **kotlin.Int**| | [optional]
**booleanForm** | **kotlin.Boolean**| | [optional]
**stringForm** | **kotlin.String**| | [optional]
| **integerForm** | **kotlin.Int**| | [optional] |
| **booleanForm** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **stringForm** | **kotlin.String**| | [optional] |
### Return type
@ -93,15 +92,14 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**form1** | **kotlin.String**| | [optional]
**form2** | **kotlin.Int**| | [optional]
**form3** | **kotlin.String**| | [optional]
**form4** | **kotlin.Boolean**| | [optional]
**id** | **kotlin.Long**| | [optional]
**name** | **kotlin.String**| | [optional]
| **form1** | **kotlin.String**| | [optional] |
| **form2** | **kotlin.Int**| | [optional] |
| **form3** | **kotlin.String**| | [optional] |
| **form4** | **kotlin.Boolean**| | [optional] |
| **id** | **kotlin.Long**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **name** | **kotlin.String**| | [optional] |
### Return type

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testHeaderIntegerBooleanStringEnums**](HeaderApi.md#testHeaderIntegerBooleanStringEnums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testHeaderIntegerBooleanStringEnums**](HeaderApi.md#testHeaderIntegerBooleanStringEnums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s) |
<a id="testHeaderIntegerBooleanStringEnums"></a>
@ -40,14 +40,13 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**integerHeader** | **kotlin.Int**| | [optional]
**booleanHeader** | **kotlin.Boolean**| | [optional]
**stringHeader** | **kotlin.String**| | [optional]
**enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified]
**enumRefStringHeader** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified]
| **integerHeader** | **kotlin.Int**| | [optional] |
| **booleanHeader** | **kotlin.Boolean**| | [optional] |
| **stringHeader** | **kotlin.String**| | [optional] |
| **enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringHeader** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type

View File

@ -2,11 +2,11 @@
# NumberPropertiesOnly
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**number** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional]
**float** | **kotlin.Float** | | [optional]
**double** | **kotlin.Double** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **number** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |
| **float** | **kotlin.Float** | | [optional] |
| **double** | **kotlin.Double** | | [optional] |

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](PathApi.md#testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath) | **GET** /path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](PathApi.md#testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath) | **GET** /path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s) |
<a id="testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath"></a>
@ -39,13 +39,12 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**pathString** | **kotlin.String**| |
**pathInteger** | **kotlin.Int**| |
**enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified]
**enumRefStringPath** | [**StringEnumRef**](.md)| | [enum: success, failure, unclassified]
| **pathString** | **kotlin.String**| | |
| **pathInteger** | **kotlin.Int**| | |
| **enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringPath** | [**StringEnumRef**](.md)| | [enum: success, failure, unclassified] |
### Return type

View File

@ -2,21 +2,21 @@
# Pet
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **kotlin.String** | |
**photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | |
**id** | **kotlin.Long** | | [optional]
**category** | [**Category**](Category.md) | | [optional]
**tags** | [**kotlin.collections.List&lt;Tag&gt;**](Tag.md) | | [optional]
**status** | [**inline**](#Status) | pet status in the store | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **name** | **kotlin.String** | | |
| **photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | | |
| **id** | **kotlin.Long** | | [optional] |
| **category** | [**Category**](Category.md) | | [optional] |
| **tags** | [**kotlin.collections.List&lt;Tag&gt;**](Tag.md) | | [optional] |
| **status** | [**inline**](#Status) | pet status in the store | [optional] |
<a id="Status"></a>
## Enum: status
Name | Value
---- | -----
status | available, pending, sold
| Name | Value |
| ---- | ----- |
| status | available, pending, sold |

View File

@ -2,17 +2,17 @@
# Query
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | Query | [optional]
**outcomes** | [**inline**](#kotlin.collections.List&lt;Outcomes&gt;) | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | Query | [optional] |
| **outcomes** | [**inline**](#kotlin.collections.List&lt;Outcomes&gt;) | | [optional] |
<a id="kotlin.collections.List<Outcomes>"></a>
## Enum: outcomes
Name | Value
---- | -----
outcomes | SUCCESS, FAILURE, SKIPPED
| Name | Value |
| ---- | ----- |
| outcomes | SUCCESS, FAILURE, SKIPPED |

View File

@ -2,14 +2,14 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testEnumRefString**](QueryApi.md#testEnumRefString) | **GET** /query/enum_ref_string | Test query parameter(s)
[**testQueryDatetimeDateString**](QueryApi.md#testQueryDatetimeDateString) | **GET** /query/datetime/date/string | Test query parameter(s)
[**testQueryIntegerBooleanString**](QueryApi.md#testQueryIntegerBooleanString) | **GET** /query/integer/boolean/string | Test query parameter(s)
[**testQueryStyleDeepObjectExplodeTrueObject**](QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s)
[**testQueryStyleFormExplodeTrueArrayString**](QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s)
[**testQueryStyleFormExplodeTrueObject**](QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** /query/style_form/explode_true/object | Test query parameter(s)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testEnumRefString**](QueryApi.md#testEnumRefString) | **GET** /query/enum_ref_string | Test query parameter(s) |
| [**testQueryDatetimeDateString**](QueryApi.md#testQueryDatetimeDateString) | **GET** /query/datetime/date/string | Test query parameter(s) |
| [**testQueryIntegerBooleanString**](QueryApi.md#testQueryIntegerBooleanString) | **GET** /query/integer/boolean/string | Test query parameter(s) |
| [**testQueryStyleDeepObjectExplodeTrueObject**](QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) |
| [**testQueryStyleFormExplodeTrueArrayString**](QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) |
| [**testQueryStyleFormExplodeTrueObject**](QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** /query/style_form/explode_true/object | Test query parameter(s) |
<a id="testEnumRefString"></a>
@ -42,11 +42,10 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified]
**enumRefStringQuery** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified]
| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringQuery** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
@ -92,12 +91,11 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**datetimeQuery** | **java.time.OffsetDateTime**| | [optional]
**dateQuery** | **java.time.LocalDate**| | [optional]
**stringQuery** | **kotlin.String**| | [optional]
| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
| **dateQuery** | **java.time.LocalDate**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@ -143,12 +141,11 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**integerQuery** | **kotlin.Int**| | [optional]
**booleanQuery** | **kotlin.Boolean**| | [optional]
**stringQuery** | **kotlin.String**| | [optional]
| **integerQuery** | **kotlin.Int**| | [optional] |
| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@ -192,10 +189,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queryObject** | [**Pet**](.md)| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **queryObject** | [**Pet**](.md)| | [optional] |
### Return type
@ -239,10 +235,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queryObject** | [**TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter**](.md)| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **queryObject** | [**TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter**](.md)| | [optional] |
### Return type
@ -286,10 +281,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queryObject** | [**Pet**](.md)| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **queryObject** | [**Pet**](.md)| | [optional] |
### Return type

View File

@ -2,10 +2,10 @@
# Tag
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**name** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **name** | **kotlin.String** | | [optional] |

View File

@ -2,9 +2,9 @@
# TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**propertyValues** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **propertyValues** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |

View File

@ -35,5 +35,8 @@ data class Bird (
@field:JsonProperty("color")
val color: kotlin.String? = null
)
) {
}

View File

@ -35,5 +35,8 @@ data class Category (
@field:JsonProperty("name")
val name: kotlin.String? = null
)
) {
}

View File

@ -73,5 +73,6 @@ data class DefaultValue (
@JsonProperty(value = "unclassified") unclassified("unclassified"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
}
}

View File

@ -39,5 +39,8 @@ data class NumberPropertiesOnly (
@field:JsonProperty("double")
val double: kotlin.Double? = null
)
) {
}

View File

@ -67,5 +67,6 @@ data class Pet (
@JsonProperty(value = "sold") sold("sold"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
}
}

View File

@ -49,5 +49,6 @@ data class Query (
@JsonProperty(value = "SKIPPED") SKIPPED("SKIPPED"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
}
}

View File

@ -35,5 +35,8 @@ data class Tag (
@field:JsonProperty("name")
val name: kotlin.String? = null
)
) {
}

View File

@ -31,5 +31,8 @@ data class TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter (
@field:JsonProperty("values")
val propertyValues: kotlin.collections.List<kotlin.String>? = null
)
) {
}

View File

@ -43,28 +43,28 @@ This runs all tests and packages the library.
All URIs are relative to *http://localhost:3000*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AuthApi* | [**testAuthHttpBasic**](docs/AuthApi.md#testauthhttpbasic) | **POST** /auth/http/basic | To test HTTP basic authentication
*AuthApi* | [**testAuthHttpBearer**](docs/AuthApi.md#testauthhttpbearer) | **POST** /auth/http/bearer | To test HTTP bearer authentication
*BodyApi* | [**testBinaryGif**](docs/BodyApi.md#testbinarygif) | **POST** /binary/gif | Test binary (gif) response body
*BodyApi* | [**testBodyApplicationOctetstreamBinary**](docs/BodyApi.md#testbodyapplicationoctetstreambinary) | **POST** /body/application/octetstream/binary | Test body parameter(s)
*BodyApi* | [**testBodyMultipartFormdataArrayOfBinary**](docs/BodyApi.md#testbodymultipartformdataarrayofbinary) | **POST** /body/application/octetstream/array_of_binary | Test array of binary in multipart mime
*BodyApi* | [**testBodyMultipartFormdataSingleBinary**](docs/BodyApi.md#testbodymultipartformdatasinglebinary) | **POST** /body/application/octetstream/single_binary | Test single binary in multipart mime
*BodyApi* | [**testEchoBodyFreeFormObjectResponseString**](docs/BodyApi.md#testechobodyfreeformobjectresponsestring) | **POST** /echo/body/FreeFormObject/response_string | Test free form object
*BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** /echo/body/Pet | Test body parameter(s)
*BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** /echo/body/Pet/response_string | Test empty response body
*BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** /echo/body/Tag/response_string | Test empty json (request body)
*FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** /form/integer/boolean/string | Test form parameter(s)
*FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema
*HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s)
*PathApi* | [**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](docs/PathApi.md#testspathstringpathstringintegerpathintegerenumnonrefstringpathenumrefstringpath) | **GET** /path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s)
*QueryApi* | [**testEnumRefString**](docs/QueryApi.md#testenumrefstring) | **GET** /query/enum_ref_string | Test query parameter(s)
*QueryApi* | [**testQueryDatetimeDateString**](docs/QueryApi.md#testquerydatetimedatestring) | **GET** /query/datetime/date/string | Test query parameter(s)
*QueryApi* | [**testQueryIntegerBooleanString**](docs/QueryApi.md#testqueryintegerbooleanstring) | **GET** /query/integer/boolean/string | Test query parameter(s)
*QueryApi* | [**testQueryStyleDeepObjectExplodeTrueObject**](docs/QueryApi.md#testquerystyledeepobjectexplodetrueobject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s)
*QueryApi* | [**testQueryStyleFormExplodeTrueArrayString**](docs/QueryApi.md#testquerystyleformexplodetruearraystring) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s)
*QueryApi* | [**testQueryStyleFormExplodeTrueObject**](docs/QueryApi.md#testquerystyleformexplodetrueobject) | **GET** /query/style_form/explode_true/object | Test query parameter(s)
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
| *AuthApi* | [**testAuthHttpBasic**](docs/AuthApi.md#testauthhttpbasic) | **POST** /auth/http/basic | To test HTTP basic authentication |
| *AuthApi* | [**testAuthHttpBearer**](docs/AuthApi.md#testauthhttpbearer) | **POST** /auth/http/bearer | To test HTTP bearer authentication |
| *BodyApi* | [**testBinaryGif**](docs/BodyApi.md#testbinarygif) | **POST** /binary/gif | Test binary (gif) response body |
| *BodyApi* | [**testBodyApplicationOctetstreamBinary**](docs/BodyApi.md#testbodyapplicationoctetstreambinary) | **POST** /body/application/octetstream/binary | Test body parameter(s) |
| *BodyApi* | [**testBodyMultipartFormdataArrayOfBinary**](docs/BodyApi.md#testbodymultipartformdataarrayofbinary) | **POST** /body/application/octetstream/array_of_binary | Test array of binary in multipart mime |
| *BodyApi* | [**testBodyMultipartFormdataSingleBinary**](docs/BodyApi.md#testbodymultipartformdatasinglebinary) | **POST** /body/application/octetstream/single_binary | Test single binary in multipart mime |
| *BodyApi* | [**testEchoBodyFreeFormObjectResponseString**](docs/BodyApi.md#testechobodyfreeformobjectresponsestring) | **POST** /echo/body/FreeFormObject/response_string | Test free form object |
| *BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** /echo/body/Pet | Test body parameter(s) |
| *BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** /echo/body/Pet/response_string | Test empty response body |
| *BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** /echo/body/Tag/response_string | Test empty json (request body) |
| *FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** /form/integer/boolean/string | Test form parameter(s) |
| *FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema |
| *HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s) |
| *PathApi* | [**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](docs/PathApi.md#testspathstringpathstringintegerpathintegerenumnonrefstringpathenumrefstringpath) | **GET** /path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s) |
| *QueryApi* | [**testEnumRefString**](docs/QueryApi.md#testenumrefstring) | **GET** /query/enum_ref_string | Test query parameter(s) |
| *QueryApi* | [**testQueryDatetimeDateString**](docs/QueryApi.md#testquerydatetimedatestring) | **GET** /query/datetime/date/string | Test query parameter(s) |
| *QueryApi* | [**testQueryIntegerBooleanString**](docs/QueryApi.md#testqueryintegerbooleanstring) | **GET** /query/integer/boolean/string | Test query parameter(s) |
| *QueryApi* | [**testQueryStyleDeepObjectExplodeTrueObject**](docs/QueryApi.md#testquerystyledeepobjectexplodetrueobject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) |
| *QueryApi* | [**testQueryStyleFormExplodeTrueArrayString**](docs/QueryApi.md#testquerystyleformexplodetruearraystring) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) |
| *QueryApi* | [**testQueryStyleFormExplodeTrueObject**](docs/QueryApi.md#testquerystyleformexplodetrueobject) | **GET** /query/style_form/explode_true/object | Test query parameter(s) |
<a id="documentation-for-models"></a>

View File

@ -2,10 +2,10 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testAuthHttpBasic**](AuthApi.md#testAuthHttpBasic) | **POST** /auth/http/basic | To test HTTP basic authentication
[**testAuthHttpBearer**](AuthApi.md#testAuthHttpBearer) | **POST** /auth/http/bearer | To test HTTP bearer authentication
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testAuthHttpBasic**](AuthApi.md#testAuthHttpBasic) | **POST** /auth/http/basic | To test HTTP basic authentication |
| [**testAuthHttpBearer**](AuthApi.md#testAuthHttpBearer) | **POST** /auth/http/bearer | To test HTTP bearer authentication |
<a id="testAuthHttpBasic"></a>

View File

@ -2,10 +2,10 @@
# Bird
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**propertySize** | **kotlin.String** | | [optional]
**color** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **propertySize** | **kotlin.String** | | [optional] |
| **color** | **kotlin.String** | | [optional] |

View File

@ -2,16 +2,16 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testBinaryGif**](BodyApi.md#testBinaryGif) | **POST** /binary/gif | Test binary (gif) response body
[**testBodyApplicationOctetstreamBinary**](BodyApi.md#testBodyApplicationOctetstreamBinary) | **POST** /body/application/octetstream/binary | Test body parameter(s)
[**testBodyMultipartFormdataArrayOfBinary**](BodyApi.md#testBodyMultipartFormdataArrayOfBinary) | **POST** /body/application/octetstream/array_of_binary | Test array of binary in multipart mime
[**testBodyMultipartFormdataSingleBinary**](BodyApi.md#testBodyMultipartFormdataSingleBinary) | **POST** /body/application/octetstream/single_binary | Test single binary in multipart mime
[**testEchoBodyFreeFormObjectResponseString**](BodyApi.md#testEchoBodyFreeFormObjectResponseString) | **POST** /echo/body/FreeFormObject/response_string | Test free form object
[**testEchoBodyPet**](BodyApi.md#testEchoBodyPet) | **POST** /echo/body/Pet | Test body parameter(s)
[**testEchoBodyPetResponseString**](BodyApi.md#testEchoBodyPetResponseString) | **POST** /echo/body/Pet/response_string | Test empty response body
[**testEchoBodyTagResponseString**](BodyApi.md#testEchoBodyTagResponseString) | **POST** /echo/body/Tag/response_string | Test empty json (request body)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testBinaryGif**](BodyApi.md#testBinaryGif) | **POST** /binary/gif | Test binary (gif) response body |
| [**testBodyApplicationOctetstreamBinary**](BodyApi.md#testBodyApplicationOctetstreamBinary) | **POST** /body/application/octetstream/binary | Test body parameter(s) |
| [**testBodyMultipartFormdataArrayOfBinary**](BodyApi.md#testBodyMultipartFormdataArrayOfBinary) | **POST** /body/application/octetstream/array_of_binary | Test array of binary in multipart mime |
| [**testBodyMultipartFormdataSingleBinary**](BodyApi.md#testBodyMultipartFormdataSingleBinary) | **POST** /body/application/octetstream/single_binary | Test single binary in multipart mime |
| [**testEchoBodyFreeFormObjectResponseString**](BodyApi.md#testEchoBodyFreeFormObjectResponseString) | **POST** /echo/body/FreeFormObject/response_string | Test free form object |
| [**testEchoBodyPet**](BodyApi.md#testEchoBodyPet) | **POST** /echo/body/Pet | Test body parameter(s) |
| [**testEchoBodyPetResponseString**](BodyApi.md#testEchoBodyPetResponseString) | **POST** /echo/body/Pet/response_string | Test empty response body |
| [**testEchoBodyTagResponseString**](BodyApi.md#testEchoBodyTagResponseString) | **POST** /echo/body/Tag/response_string | Test empty json (request body) |
<a id="testBinaryGif"></a>
@ -86,10 +86,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **java.io.File**| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | **java.io.File**| | [optional] |
### Return type
@ -133,10 +132,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**files** | **kotlin.collections.List&lt;java.io.File&gt;**| |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **files** | **kotlin.collections.List&lt;java.io.File&gt;**| | |
### Return type
@ -180,10 +178,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**myFile** | **java.io.File**| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **myFile** | **java.io.File**| | [optional] |
### Return type
@ -227,10 +224,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **kotlin.Any**| Free form object | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | **kotlin.Any**| Free form object | [optional] |
### Return type
@ -274,10 +270,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | [optional] |
### Return type
@ -321,10 +316,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | [optional] |
### Return type
@ -368,10 +362,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**tag** | [**Tag**](Tag.md)| Tag object | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **tag** | [**Tag**](Tag.md)| Tag object | [optional] |
### Return type

View File

@ -2,10 +2,10 @@
# Category
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**name** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **name** | **kotlin.String** | | [optional] |

View File

@ -2,23 +2,23 @@
# DefaultValue
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**arrayStringEnumRefDefault** | [**kotlin.collections.List&lt;StringEnumRef&gt;**](StringEnumRef.md) | | [optional]
**arrayStringEnumDefault** | [**inline**](#kotlin.collections.List&lt;ArrayStringEnumDefault&gt;) | | [optional]
**arrayStringDefault** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**arrayIntegerDefault** | **kotlin.collections.List&lt;kotlin.Int&gt;** | | [optional]
**arrayString** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**arrayStringNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**arrayStringExtensionNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**stringNullable** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **arrayStringEnumRefDefault** | [**kotlin.collections.List&lt;StringEnumRef&gt;**](StringEnumRef.md) | | [optional] |
| **arrayStringEnumDefault** | [**inline**](#kotlin.collections.List&lt;ArrayStringEnumDefault&gt;) | | [optional] |
| **arrayStringDefault** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **arrayIntegerDefault** | **kotlin.collections.List&lt;kotlin.Int&gt;** | | [optional] |
| **arrayString** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **arrayStringNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **arrayStringExtensionNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **stringNullable** | **kotlin.String** | | [optional] |
<a id="kotlin.collections.List<ArrayStringEnumDefault>"></a>
## Enum: array_string_enum_default
Name | Value
---- | -----
arrayStringEnumDefault | success, failure, unclassified
| Name | Value |
| ---- | ----- |
| arrayStringEnumDefault | success, failure, unclassified |

View File

@ -2,10 +2,10 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testFormIntegerBooleanString**](FormApi.md#testFormIntegerBooleanString) | **POST** /form/integer/boolean/string | Test form parameter(s)
[**testFormOneof**](FormApi.md#testFormOneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testFormIntegerBooleanString**](FormApi.md#testFormIntegerBooleanString) | **POST** /form/integer/boolean/string | Test form parameter(s) |
| [**testFormOneof**](FormApi.md#testFormOneof) | **POST** /form/oneof | Test form parameter(s) for oneOf schema |
<a id="testFormIntegerBooleanString"></a>
@ -39,12 +39,11 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**integerForm** | **kotlin.Int**| | [optional]
**booleanForm** | **kotlin.Boolean**| | [optional]
**stringForm** | **kotlin.String**| | [optional]
| **integerForm** | **kotlin.Int**| | [optional] |
| **booleanForm** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **stringForm** | **kotlin.String**| | [optional] |
### Return type
@ -93,15 +92,14 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**form1** | **kotlin.String**| | [optional]
**form2** | **kotlin.Int**| | [optional]
**form3** | **kotlin.String**| | [optional]
**form4** | **kotlin.Boolean**| | [optional]
**id** | **kotlin.Long**| | [optional]
**name** | **kotlin.String**| | [optional]
| **form1** | **kotlin.String**| | [optional] |
| **form2** | **kotlin.Int**| | [optional] |
| **form3** | **kotlin.String**| | [optional] |
| **form4** | **kotlin.Boolean**| | [optional] |
| **id** | **kotlin.Long**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **name** | **kotlin.String**| | [optional] |
### Return type

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testHeaderIntegerBooleanStringEnums**](HeaderApi.md#testHeaderIntegerBooleanStringEnums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testHeaderIntegerBooleanStringEnums**](HeaderApi.md#testHeaderIntegerBooleanStringEnums) | **GET** /header/integer/boolean/string/enums | Test header parameter(s) |
<a id="testHeaderIntegerBooleanStringEnums"></a>
@ -40,14 +40,13 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**integerHeader** | **kotlin.Int**| | [optional]
**booleanHeader** | **kotlin.Boolean**| | [optional]
**stringHeader** | **kotlin.String**| | [optional]
**enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified]
**enumRefStringHeader** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified]
| **integerHeader** | **kotlin.Int**| | [optional] |
| **booleanHeader** | **kotlin.Boolean**| | [optional] |
| **stringHeader** | **kotlin.String**| | [optional] |
| **enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringHeader** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type

View File

@ -2,11 +2,11 @@
# NumberPropertiesOnly
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**number** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional]
**float** | **kotlin.Float** | | [optional]
**double** | **kotlin.Double** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **number** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |
| **float** | **kotlin.Float** | | [optional] |
| **double** | **kotlin.Double** | | [optional] |

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](PathApi.md#testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath) | **GET** /path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](PathApi.md#testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath) | **GET** /path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s) |
<a id="testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath"></a>
@ -39,13 +39,12 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**pathString** | **kotlin.String**| |
**pathInteger** | **kotlin.Int**| |
**enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified]
**enumRefStringPath** | [**StringEnumRef**](.md)| | [enum: success, failure, unclassified]
| **pathString** | **kotlin.String**| | |
| **pathInteger** | **kotlin.Int**| | |
| **enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringPath** | [**StringEnumRef**](.md)| | [enum: success, failure, unclassified] |
### Return type

View File

@ -2,21 +2,21 @@
# Pet
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **kotlin.String** | |
**photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | |
**id** | **kotlin.Long** | | [optional]
**category** | [**Category**](Category.md) | | [optional]
**tags** | [**kotlin.collections.List&lt;Tag&gt;**](Tag.md) | | [optional]
**status** | [**inline**](#Status) | pet status in the store | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **name** | **kotlin.String** | | |
| **photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | | |
| **id** | **kotlin.Long** | | [optional] |
| **category** | [**Category**](Category.md) | | [optional] |
| **tags** | [**kotlin.collections.List&lt;Tag&gt;**](Tag.md) | | [optional] |
| **status** | [**inline**](#Status) | pet status in the store | [optional] |
<a id="Status"></a>
## Enum: status
Name | Value
---- | -----
status | available, pending, sold
| Name | Value |
| ---- | ----- |
| status | available, pending, sold |

View File

@ -2,17 +2,17 @@
# Query
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | Query | [optional]
**outcomes** | [**inline**](#kotlin.collections.List&lt;Outcomes&gt;) | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | Query | [optional] |
| **outcomes** | [**inline**](#kotlin.collections.List&lt;Outcomes&gt;) | | [optional] |
<a id="kotlin.collections.List<Outcomes>"></a>
## Enum: outcomes
Name | Value
---- | -----
outcomes | SUCCESS, FAILURE, SKIPPED
| Name | Value |
| ---- | ----- |
| outcomes | SUCCESS, FAILURE, SKIPPED |

View File

@ -2,14 +2,14 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testEnumRefString**](QueryApi.md#testEnumRefString) | **GET** /query/enum_ref_string | Test query parameter(s)
[**testQueryDatetimeDateString**](QueryApi.md#testQueryDatetimeDateString) | **GET** /query/datetime/date/string | Test query parameter(s)
[**testQueryIntegerBooleanString**](QueryApi.md#testQueryIntegerBooleanString) | **GET** /query/integer/boolean/string | Test query parameter(s)
[**testQueryStyleDeepObjectExplodeTrueObject**](QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s)
[**testQueryStyleFormExplodeTrueArrayString**](QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s)
[**testQueryStyleFormExplodeTrueObject**](QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** /query/style_form/explode_true/object | Test query parameter(s)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testEnumRefString**](QueryApi.md#testEnumRefString) | **GET** /query/enum_ref_string | Test query parameter(s) |
| [**testQueryDatetimeDateString**](QueryApi.md#testQueryDatetimeDateString) | **GET** /query/datetime/date/string | Test query parameter(s) |
| [**testQueryIntegerBooleanString**](QueryApi.md#testQueryIntegerBooleanString) | **GET** /query/integer/boolean/string | Test query parameter(s) |
| [**testQueryStyleDeepObjectExplodeTrueObject**](QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** /query/style_deepObject/explode_true/object | Test query parameter(s) |
| [**testQueryStyleFormExplodeTrueArrayString**](QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** /query/style_form/explode_true/array_string | Test query parameter(s) |
| [**testQueryStyleFormExplodeTrueObject**](QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** /query/style_form/explode_true/object | Test query parameter(s) |
<a id="testEnumRefString"></a>
@ -42,11 +42,10 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified]
**enumRefStringQuery** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified]
| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringQuery** | [**StringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
@ -92,12 +91,11 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**datetimeQuery** | **java.time.OffsetDateTime**| | [optional]
**dateQuery** | **java.time.LocalDate**| | [optional]
**stringQuery** | **kotlin.String**| | [optional]
| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
| **dateQuery** | **java.time.LocalDate**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@ -143,12 +141,11 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**integerQuery** | **kotlin.Int**| | [optional]
**booleanQuery** | **kotlin.Boolean**| | [optional]
**stringQuery** | **kotlin.String**| | [optional]
| **integerQuery** | **kotlin.Int**| | [optional] |
| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@ -192,10 +189,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queryObject** | [**Pet**](.md)| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **queryObject** | [**Pet**](.md)| | [optional] |
### Return type
@ -239,10 +235,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queryObject** | [**TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter**](.md)| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **queryObject** | [**TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter**](.md)| | [optional] |
### Return type
@ -286,10 +281,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queryObject** | [**Pet**](.md)| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **queryObject** | [**Pet**](.md)| | [optional] |
### Return type

View File

@ -2,10 +2,10 @@
# Tag
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**name** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **name** | **kotlin.String** | | [optional] |

View File

@ -2,9 +2,9 @@
# TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**propertyValues** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **propertyValues** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |

View File

@ -35,5 +35,8 @@ data class Bird (
@field:JsonProperty("color")
val color: kotlin.String? = null
)
) {
}

View File

@ -35,5 +35,8 @@ data class Category (
@field:JsonProperty("name")
val name: kotlin.String? = null
)
) {
}

View File

@ -73,5 +73,6 @@ data class DefaultValue (
@JsonProperty(value = "unclassified") unclassified("unclassified"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
}
}

View File

@ -39,5 +39,8 @@ data class NumberPropertiesOnly (
@field:JsonProperty("double")
val double: kotlin.Double? = null
)
) {
}

View File

@ -67,5 +67,6 @@ data class Pet (
@JsonProperty(value = "sold") sold("sold"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
}
}

View File

@ -49,5 +49,6 @@ data class Query (
@JsonProperty(value = "SKIPPED") SKIPPED("SKIPPED"),
@JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
}
}

View File

@ -35,5 +35,8 @@ data class Tag (
@field:JsonProperty("name")
val name: kotlin.String? = null
)
) {
}

View File

@ -31,5 +31,8 @@ data class TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter (
@field:JsonProperty("values")
val propertyValues: kotlin.collections.List<kotlin.String>? = null
)
) {
}

View File

@ -43,28 +43,28 @@ This runs all tests and packages the library.
All URIs are relative to *http://localhost:3000*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AuthApi* | [**testAuthHttpBasic**](docs/AuthApi.md#testauthhttpbasic) | **POST** auth/http/basic | To test HTTP basic authentication
*AuthApi* | [**testAuthHttpBearer**](docs/AuthApi.md#testauthhttpbearer) | **POST** auth/http/bearer | To test HTTP bearer authentication
*BodyApi* | [**testBinaryGif**](docs/BodyApi.md#testbinarygif) | **POST** binary/gif | Test binary (gif) response body
*BodyApi* | [**testBodyApplicationOctetstreamBinary**](docs/BodyApi.md#testbodyapplicationoctetstreambinary) | **POST** body/application/octetstream/binary | Test body parameter(s)
*BodyApi* | [**testBodyMultipartFormdataArrayOfBinary**](docs/BodyApi.md#testbodymultipartformdataarrayofbinary) | **POST** body/application/octetstream/array_of_binary | Test array of binary in multipart mime
*BodyApi* | [**testBodyMultipartFormdataSingleBinary**](docs/BodyApi.md#testbodymultipartformdatasinglebinary) | **POST** body/application/octetstream/single_binary | Test single binary in multipart mime
*BodyApi* | [**testEchoBodyFreeFormObjectResponseString**](docs/BodyApi.md#testechobodyfreeformobjectresponsestring) | **POST** echo/body/FreeFormObject/response_string | Test free form object
*BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** echo/body/Pet | Test body parameter(s)
*BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** echo/body/Pet/response_string | Test empty response body
*BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** echo/body/Tag/response_string | Test empty json (request body)
*FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** form/integer/boolean/string | Test form parameter(s)
*FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** form/oneof | Test form parameter(s) for oneOf schema
*HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** header/integer/boolean/string/enums | Test header parameter(s)
*PathApi* | [**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](docs/PathApi.md#testspathstringpathstringintegerpathintegerenumnonrefstringpathenumrefstringpath) | **GET** path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s)
*QueryApi* | [**testEnumRefString**](docs/QueryApi.md#testenumrefstring) | **GET** query/enum_ref_string | Test query parameter(s)
*QueryApi* | [**testQueryDatetimeDateString**](docs/QueryApi.md#testquerydatetimedatestring) | **GET** query/datetime/date/string | Test query parameter(s)
*QueryApi* | [**testQueryIntegerBooleanString**](docs/QueryApi.md#testqueryintegerbooleanstring) | **GET** query/integer/boolean/string | Test query parameter(s)
*QueryApi* | [**testQueryStyleDeepObjectExplodeTrueObject**](docs/QueryApi.md#testquerystyledeepobjectexplodetrueobject) | **GET** query/style_deepObject/explode_true/object | Test query parameter(s)
*QueryApi* | [**testQueryStyleFormExplodeTrueArrayString**](docs/QueryApi.md#testquerystyleformexplodetruearraystring) | **GET** query/style_form/explode_true/array_string | Test query parameter(s)
*QueryApi* | [**testQueryStyleFormExplodeTrueObject**](docs/QueryApi.md#testquerystyleformexplodetrueobject) | **GET** query/style_form/explode_true/object | Test query parameter(s)
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
| *AuthApi* | [**testAuthHttpBasic**](docs/AuthApi.md#testauthhttpbasic) | **POST** auth/http/basic | To test HTTP basic authentication |
| *AuthApi* | [**testAuthHttpBearer**](docs/AuthApi.md#testauthhttpbearer) | **POST** auth/http/bearer | To test HTTP bearer authentication |
| *BodyApi* | [**testBinaryGif**](docs/BodyApi.md#testbinarygif) | **POST** binary/gif | Test binary (gif) response body |
| *BodyApi* | [**testBodyApplicationOctetstreamBinary**](docs/BodyApi.md#testbodyapplicationoctetstreambinary) | **POST** body/application/octetstream/binary | Test body parameter(s) |
| *BodyApi* | [**testBodyMultipartFormdataArrayOfBinary**](docs/BodyApi.md#testbodymultipartformdataarrayofbinary) | **POST** body/application/octetstream/array_of_binary | Test array of binary in multipart mime |
| *BodyApi* | [**testBodyMultipartFormdataSingleBinary**](docs/BodyApi.md#testbodymultipartformdatasinglebinary) | **POST** body/application/octetstream/single_binary | Test single binary in multipart mime |
| *BodyApi* | [**testEchoBodyFreeFormObjectResponseString**](docs/BodyApi.md#testechobodyfreeformobjectresponsestring) | **POST** echo/body/FreeFormObject/response_string | Test free form object |
| *BodyApi* | [**testEchoBodyPet**](docs/BodyApi.md#testechobodypet) | **POST** echo/body/Pet | Test body parameter(s) |
| *BodyApi* | [**testEchoBodyPetResponseString**](docs/BodyApi.md#testechobodypetresponsestring) | **POST** echo/body/Pet/response_string | Test empty response body |
| *BodyApi* | [**testEchoBodyTagResponseString**](docs/BodyApi.md#testechobodytagresponsestring) | **POST** echo/body/Tag/response_string | Test empty json (request body) |
| *FormApi* | [**testFormIntegerBooleanString**](docs/FormApi.md#testformintegerbooleanstring) | **POST** form/integer/boolean/string | Test form parameter(s) |
| *FormApi* | [**testFormOneof**](docs/FormApi.md#testformoneof) | **POST** form/oneof | Test form parameter(s) for oneOf schema |
| *HeaderApi* | [**testHeaderIntegerBooleanStringEnums**](docs/HeaderApi.md#testheaderintegerbooleanstringenums) | **GET** header/integer/boolean/string/enums | Test header parameter(s) |
| *PathApi* | [**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](docs/PathApi.md#testspathstringpathstringintegerpathintegerenumnonrefstringpathenumrefstringpath) | **GET** path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s) |
| *QueryApi* | [**testEnumRefString**](docs/QueryApi.md#testenumrefstring) | **GET** query/enum_ref_string | Test query parameter(s) |
| *QueryApi* | [**testQueryDatetimeDateString**](docs/QueryApi.md#testquerydatetimedatestring) | **GET** query/datetime/date/string | Test query parameter(s) |
| *QueryApi* | [**testQueryIntegerBooleanString**](docs/QueryApi.md#testqueryintegerbooleanstring) | **GET** query/integer/boolean/string | Test query parameter(s) |
| *QueryApi* | [**testQueryStyleDeepObjectExplodeTrueObject**](docs/QueryApi.md#testquerystyledeepobjectexplodetrueobject) | **GET** query/style_deepObject/explode_true/object | Test query parameter(s) |
| *QueryApi* | [**testQueryStyleFormExplodeTrueArrayString**](docs/QueryApi.md#testquerystyleformexplodetruearraystring) | **GET** query/style_form/explode_true/array_string | Test query parameter(s) |
| *QueryApi* | [**testQueryStyleFormExplodeTrueObject**](docs/QueryApi.md#testquerystyleformexplodetrueobject) | **GET** query/style_form/explode_true/object | Test query parameter(s) |
<a id="documentation-for-models"></a>

View File

@ -2,10 +2,10 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testAuthHttpBasic**](AuthApi.md#testAuthHttpBasic) | **POST** auth/http/basic | To test HTTP basic authentication
[**testAuthHttpBearer**](AuthApi.md#testAuthHttpBearer) | **POST** auth/http/bearer | To test HTTP bearer authentication
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testAuthHttpBasic**](AuthApi.md#testAuthHttpBasic) | **POST** auth/http/basic | To test HTTP basic authentication |
| [**testAuthHttpBearer**](AuthApi.md#testAuthHttpBearer) | **POST** auth/http/bearer | To test HTTP bearer authentication |

View File

@ -2,10 +2,10 @@
# ApiBird
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**propertySize** | **kotlin.String** | | [optional]
**color** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **propertySize** | **kotlin.String** | | [optional] |
| **color** | **kotlin.String** | | [optional] |

View File

@ -2,16 +2,16 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testBinaryGif**](BodyApi.md#testBinaryGif) | **POST** binary/gif | Test binary (gif) response body
[**testBodyApplicationOctetstreamBinary**](BodyApi.md#testBodyApplicationOctetstreamBinary) | **POST** body/application/octetstream/binary | Test body parameter(s)
[**testBodyMultipartFormdataArrayOfBinary**](BodyApi.md#testBodyMultipartFormdataArrayOfBinary) | **POST** body/application/octetstream/array_of_binary | Test array of binary in multipart mime
[**testBodyMultipartFormdataSingleBinary**](BodyApi.md#testBodyMultipartFormdataSingleBinary) | **POST** body/application/octetstream/single_binary | Test single binary in multipart mime
[**testEchoBodyFreeFormObjectResponseString**](BodyApi.md#testEchoBodyFreeFormObjectResponseString) | **POST** echo/body/FreeFormObject/response_string | Test free form object
[**testEchoBodyPet**](BodyApi.md#testEchoBodyPet) | **POST** echo/body/Pet | Test body parameter(s)
[**testEchoBodyPetResponseString**](BodyApi.md#testEchoBodyPetResponseString) | **POST** echo/body/Pet/response_string | Test empty response body
[**testEchoBodyTagResponseString**](BodyApi.md#testEchoBodyTagResponseString) | **POST** echo/body/Tag/response_string | Test empty json (request body)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testBinaryGif**](BodyApi.md#testBinaryGif) | **POST** binary/gif | Test binary (gif) response body |
| [**testBodyApplicationOctetstreamBinary**](BodyApi.md#testBodyApplicationOctetstreamBinary) | **POST** body/application/octetstream/binary | Test body parameter(s) |
| [**testBodyMultipartFormdataArrayOfBinary**](BodyApi.md#testBodyMultipartFormdataArrayOfBinary) | **POST** body/application/octetstream/array_of_binary | Test array of binary in multipart mime |
| [**testBodyMultipartFormdataSingleBinary**](BodyApi.md#testBodyMultipartFormdataSingleBinary) | **POST** body/application/octetstream/single_binary | Test single binary in multipart mime |
| [**testEchoBodyFreeFormObjectResponseString**](BodyApi.md#testEchoBodyFreeFormObjectResponseString) | **POST** echo/body/FreeFormObject/response_string | Test free form object |
| [**testEchoBodyPet**](BodyApi.md#testEchoBodyPet) | **POST** echo/body/Pet | Test body parameter(s) |
| [**testEchoBodyPetResponseString**](BodyApi.md#testEchoBodyPetResponseString) | **POST** echo/body/Pet/response_string | Test empty response body |
| [**testEchoBodyTagResponseString**](BodyApi.md#testEchoBodyTagResponseString) | **POST** echo/body/Tag/response_string | Test empty json (request body) |
@ -72,10 +72,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **RequestBody**| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | **RequestBody**| | [optional] |
### Return type
@ -112,10 +111,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**files** | **kotlin.collections.List&lt;RequestBody&gt;**| |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **files** | **kotlin.collections.List&lt;RequestBody&gt;**| | |
### Return type
@ -152,10 +150,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**myFile** | **RequestBody**| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **myFile** | **RequestBody**| | [optional] |
### Return type
@ -192,10 +189,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **kotlin.Any**| Free form object | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **body** | **kotlin.Any**| Free form object | [optional] |
### Return type
@ -232,10 +228,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**apiPet** | [**ApiPet**](ApiPet.md)| Pet object that needs to be added to the store | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **apiPet** | [**ApiPet**](ApiPet.md)| Pet object that needs to be added to the store | [optional] |
### Return type
@ -272,10 +267,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**apiPet** | [**ApiPet**](ApiPet.md)| Pet object that needs to be added to the store | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **apiPet** | [**ApiPet**](ApiPet.md)| Pet object that needs to be added to the store | [optional] |
### Return type
@ -312,10 +306,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**apiTag** | [**ApiTag**](ApiTag.md)| Tag object | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **apiTag** | [**ApiTag**](ApiTag.md)| Tag object | [optional] |
### Return type

View File

@ -2,10 +2,10 @@
# ApiCategory
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**name** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **name** | **kotlin.String** | | [optional] |

View File

@ -2,23 +2,23 @@
# ApiDefaultValue
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**arrayStringEnumRefDefault** | [**kotlin.collections.List&lt;ApiStringEnumRef&gt;**](ApiStringEnumRef.md) | | [optional]
**arrayStringEnumDefault** | [**inline**](#kotlin.collections.List&lt;ArrayStringEnumDefault&gt;) | | [optional]
**arrayStringDefault** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**arrayIntegerDefault** | **kotlin.collections.List&lt;kotlin.Int&gt;** | | [optional]
**arrayString** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**arrayStringNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**arrayStringExtensionNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
**stringNullable** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **arrayStringEnumRefDefault** | [**kotlin.collections.List&lt;ApiStringEnumRef&gt;**](ApiStringEnumRef.md) | | [optional] |
| **arrayStringEnumDefault** | [**inline**](#kotlin.collections.List&lt;ArrayStringEnumDefault&gt;) | | [optional] |
| **arrayStringDefault** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **arrayIntegerDefault** | **kotlin.collections.List&lt;kotlin.Int&gt;** | | [optional] |
| **arrayString** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **arrayStringNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **arrayStringExtensionNullable** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |
| **stringNullable** | **kotlin.String** | | [optional] |
<a id="kotlin.collections.List<ArrayStringEnumDefault>"></a>
## Enum: array_string_enum_default
Name | Value
---- | -----
arrayStringEnumDefault | success, failure, unclassified
| Name | Value |
| ---- | ----- |
| arrayStringEnumDefault | success, failure, unclassified |

View File

@ -2,10 +2,10 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testFormIntegerBooleanString**](FormApi.md#testFormIntegerBooleanString) | **POST** form/integer/boolean/string | Test form parameter(s)
[**testFormOneof**](FormApi.md#testFormOneof) | **POST** form/oneof | Test form parameter(s) for oneOf schema
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testFormIntegerBooleanString**](FormApi.md#testFormIntegerBooleanString) | **POST** form/integer/boolean/string | Test form parameter(s) |
| [**testFormOneof**](FormApi.md#testFormOneof) | **POST** form/oneof | Test form parameter(s) for oneOf schema |
@ -32,12 +32,11 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**integerForm** | **kotlin.Int**| | [optional]
**booleanForm** | **kotlin.Boolean**| | [optional]
**stringForm** | **kotlin.String**| | [optional]
| **integerForm** | **kotlin.Int**| | [optional] |
| **booleanForm** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **stringForm** | **kotlin.String**| | [optional] |
### Return type
@ -79,15 +78,14 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**form1** | **kotlin.String**| | [optional]
**form2** | **kotlin.Int**| | [optional]
**form3** | **kotlin.String**| | [optional]
**form4** | **kotlin.Boolean**| | [optional]
**id** | **kotlin.Long**| | [optional]
**name** | **kotlin.String**| | [optional]
| **form1** | **kotlin.String**| | [optional] |
| **form2** | **kotlin.Int**| | [optional] |
| **form3** | **kotlin.String**| | [optional] |
| **form4** | **kotlin.Boolean**| | [optional] |
| **id** | **kotlin.Long**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **name** | **kotlin.String**| | [optional] |
### Return type

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testHeaderIntegerBooleanStringEnums**](HeaderApi.md#testHeaderIntegerBooleanStringEnums) | **GET** header/integer/boolean/string/enums | Test header parameter(s)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testHeaderIntegerBooleanStringEnums**](HeaderApi.md#testHeaderIntegerBooleanStringEnums) | **GET** header/integer/boolean/string/enums | Test header parameter(s) |
@ -33,14 +33,13 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**integerHeader** | **kotlin.Int**| | [optional]
**booleanHeader** | **kotlin.Boolean**| | [optional]
**stringHeader** | **kotlin.String**| | [optional]
**enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified]
**enumRefStringHeader** | [**ApiStringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified]
| **integerHeader** | **kotlin.Int**| | [optional] |
| **booleanHeader** | **kotlin.Boolean**| | [optional] |
| **stringHeader** | **kotlin.String**| | [optional] |
| **enumNonrefStringHeader** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringHeader** | [**ApiStringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type

View File

@ -2,11 +2,11 @@
# ApiNumberPropertiesOnly
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**number** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional]
**float** | **kotlin.Float** | | [optional]
**double** | **kotlin.Double** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **number** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |
| **float** | **kotlin.Float** | | [optional] |
| **double** | **kotlin.Double** | | [optional] |

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](PathApi.md#testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath) | **GET** path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath**](PathApi.md#testsPathStringPathStringIntegerPathIntegerEnumNonrefStringPathEnumRefStringPath) | **GET** path/string/{path_string}/integer/{path_integer}/{enum_nonref_string_path}/{enum_ref_string_path} | Test path parameter(s) |
@ -32,13 +32,12 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**pathString** | **kotlin.String**| |
**pathInteger** | **kotlin.Int**| |
**enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified]
**enumRefStringPath** | [**ApiStringEnumRef**](.md)| | [enum: success, failure, unclassified]
| **pathString** | **kotlin.String**| | |
| **pathInteger** | **kotlin.Int**| | |
| **enumNonrefStringPath** | **kotlin.String**| | [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringPath** | [**ApiStringEnumRef**](.md)| | [enum: success, failure, unclassified] |
### Return type

View File

@ -2,21 +2,21 @@
# ApiPet
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **kotlin.String** | |
**photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | |
**id** | **kotlin.Long** | | [optional]
**category** | [**ApiCategory**](ApiCategory.md) | | [optional]
**tags** | [**kotlin.collections.List&lt;ApiTag&gt;**](ApiTag.md) | | [optional]
**status** | [**inline**](#Status) | pet status in the store | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **name** | **kotlin.String** | | |
| **photoUrls** | **kotlin.collections.List&lt;kotlin.String&gt;** | | |
| **id** | **kotlin.Long** | | [optional] |
| **category** | [**ApiCategory**](ApiCategory.md) | | [optional] |
| **tags** | [**kotlin.collections.List&lt;ApiTag&gt;**](ApiTag.md) | | [optional] |
| **status** | [**inline**](#Status) | pet status in the store | [optional] |
<a id="Status"></a>
## Enum: status
Name | Value
---- | -----
status | available, pending, sold
| Name | Value |
| ---- | ----- |
| status | available, pending, sold |

View File

@ -2,17 +2,17 @@
# ApiQuery
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | Query | [optional]
**outcomes** | [**inline**](#kotlin.collections.List&lt;Outcomes&gt;) | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | Query | [optional] |
| **outcomes** | [**inline**](#kotlin.collections.List&lt;Outcomes&gt;) | | [optional] |
<a id="kotlin.collections.List<Outcomes>"></a>
## Enum: outcomes
Name | Value
---- | -----
outcomes | SUCCESS, FAILURE, SKIPPED
| Name | Value |
| ---- | ----- |
| outcomes | SUCCESS, FAILURE, SKIPPED |

View File

@ -2,14 +2,14 @@
All URIs are relative to *http://localhost:3000*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testEnumRefString**](QueryApi.md#testEnumRefString) | **GET** query/enum_ref_string | Test query parameter(s)
[**testQueryDatetimeDateString**](QueryApi.md#testQueryDatetimeDateString) | **GET** query/datetime/date/string | Test query parameter(s)
[**testQueryIntegerBooleanString**](QueryApi.md#testQueryIntegerBooleanString) | **GET** query/integer/boolean/string | Test query parameter(s)
[**testQueryStyleDeepObjectExplodeTrueObject**](QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** query/style_deepObject/explode_true/object | Test query parameter(s)
[**testQueryStyleFormExplodeTrueArrayString**](QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** query/style_form/explode_true/array_string | Test query parameter(s)
[**testQueryStyleFormExplodeTrueObject**](QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** query/style_form/explode_true/object | Test query parameter(s)
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testEnumRefString**](QueryApi.md#testEnumRefString) | **GET** query/enum_ref_string | Test query parameter(s) |
| [**testQueryDatetimeDateString**](QueryApi.md#testQueryDatetimeDateString) | **GET** query/datetime/date/string | Test query parameter(s) |
| [**testQueryIntegerBooleanString**](QueryApi.md#testQueryIntegerBooleanString) | **GET** query/integer/boolean/string | Test query parameter(s) |
| [**testQueryStyleDeepObjectExplodeTrueObject**](QueryApi.md#testQueryStyleDeepObjectExplodeTrueObject) | **GET** query/style_deepObject/explode_true/object | Test query parameter(s) |
| [**testQueryStyleFormExplodeTrueArrayString**](QueryApi.md#testQueryStyleFormExplodeTrueArrayString) | **GET** query/style_form/explode_true/array_string | Test query parameter(s) |
| [**testQueryStyleFormExplodeTrueObject**](QueryApi.md#testQueryStyleFormExplodeTrueObject) | **GET** query/style_form/explode_true/object | Test query parameter(s) |
@ -35,11 +35,10 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified]
**enumRefStringQuery** | [**ApiStringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified]
| **enumNonrefStringQuery** | **kotlin.String**| | [optional] [enum: success, failure, unclassified] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **enumRefStringQuery** | [**ApiStringEnumRef**](.md)| | [optional] [enum: success, failure, unclassified] |
### Return type
@ -78,12 +77,11 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**datetimeQuery** | **java.time.OffsetDateTime**| | [optional]
**dateQuery** | **java.time.LocalDate**| | [optional]
**stringQuery** | **kotlin.String**| | [optional]
| **datetimeQuery** | **java.time.OffsetDateTime**| | [optional] |
| **dateQuery** | **java.time.LocalDate**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@ -122,12 +120,11 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**integerQuery** | **kotlin.Int**| | [optional]
**booleanQuery** | **kotlin.Boolean**| | [optional]
**stringQuery** | **kotlin.String**| | [optional]
| **integerQuery** | **kotlin.Int**| | [optional] |
| **booleanQuery** | **kotlin.Boolean**| | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **stringQuery** | **kotlin.String**| | [optional] |
### Return type
@ -164,10 +161,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queryObject** | [**ApiPet**](.md)| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **queryObject** | [**ApiPet**](.md)| | [optional] |
### Return type
@ -204,10 +200,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queryObject** | [**ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter**](.md)| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **queryObject** | [**ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter**](.md)| | [optional] |
### Return type
@ -244,10 +239,9 @@ launch(Dispatchers.IO) {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**queryObject** | [**ApiPet**](.md)| | [optional]
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **queryObject** | [**ApiPet**](.md)| | [optional] |
### Return type

View File

@ -2,10 +2,10 @@
# ApiTag
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **kotlin.Long** | | [optional]
**name** | **kotlin.String** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | **kotlin.Long** | | [optional] |
| **name** | **kotlin.String** | | [optional] |

View File

@ -2,9 +2,9 @@
# ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**propertyValues** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **propertyValues** | **kotlin.collections.List&lt;kotlin.String&gt;** | | [optional] |

View File

@ -34,5 +34,8 @@ data class ApiBird (
@SerializedName("color")
val color: kotlin.String? = null
)
) {
}

View File

@ -34,5 +34,8 @@ data class ApiCategory (
@SerializedName("name")
val name: kotlin.String? = null
)
) {
}

View File

@ -71,5 +71,6 @@ data class ApiDefaultValue (
@SerializedName(value = "failure") FAILURE("failure"),
@SerializedName(value = "unclassified") UNCLASSIFIED("unclassified");
}
}

View File

@ -38,5 +38,8 @@ data class ApiNumberPropertiesOnly (
@SerializedName("double")
val double: kotlin.Double? = null
)
) {
}

View File

@ -65,5 +65,6 @@ data class ApiPet (
@SerializedName(value = "pending") PENDING("pending"),
@SerializedName(value = "sold") SOLD("sold");
}
}

View File

@ -47,5 +47,6 @@ data class ApiQuery (
@SerializedName(value = "FAILURE") FAILURE("FAILURE"),
@SerializedName(value = "SKIPPED") SKIPPED("SKIPPED");
}
}

View File

@ -34,5 +34,8 @@ data class ApiTag (
@SerializedName("name")
val name: kotlin.String? = null
)
) {
}

View File

@ -30,5 +30,8 @@ data class ApiTestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter (
@SerializedName("values")
val propertyValues: kotlin.collections.List<kotlin.String>? = null
)
) {
}

View File

@ -43,9 +43,9 @@ This runs all tests and packages the library.
All URIs are relative to *http://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**findPetsByStatus**](docs/DefaultApi.md#findpetsbystatus) | **GET** /test/parameters/{path_default}/{path_nullable} | Finds Pets by status
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
| *DefaultApi* | [**findPetsByStatus**](docs/DefaultApi.md#findpetsbystatus) | **GET** /test/parameters/{path_default}/{path_nullable} | Finds Pets by status |
<a id="documentation-for-models"></a>

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**findPetsByStatus**](DefaultApi.md#findPetsByStatus) | **GET** /test/parameters/{path_default}/{path_nullable} | Finds Pets by status
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**findPetsByStatus**](DefaultApi.md#findPetsByStatus) | **GET** /test/parameters/{path_default}/{path_nullable} | Finds Pets by status |
<a id="findPetsByStatus"></a>
@ -49,24 +49,23 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**pathDefault** | **kotlin.String**| path default |
**pathNullable** | **kotlin.String**| path_nullable |
**queryDefault** | **kotlin.String**| query default | [optional] [default to &quot;available&quot;]
**queryDefaultEnum** | **kotlin.String**| query default enum | [optional] [default to B] [enum: A, B, C]
**queryDefaultInt** | **java.math.BigDecimal**| query default int | [optional] [default to 3]
**headerDefault** | **kotlin.String**| header default | [optional] [default to &quot;available&quot;]
**headerDefaultEnum** | **kotlin.String**| header default enum | [optional] [default to B] [enum: A, B, C]
**headerDefaultInt** | **java.math.BigDecimal**| header default int | [optional] [default to 3]
**cookieDefault** | **kotlin.String**| cookie default | [optional] [default to &quot;available&quot;]
**cookieDefaultEnum** | **kotlin.String**| cookie default enum | [optional] [default to B] [enum: A, B, C]
**cookieDefaultInt** | **java.math.BigDecimal**| cookie default int | [optional] [default to 3]
**queryNullable** | **kotlin.String**| query nullable | [optional]
**headerNullable** | **kotlin.String**| header nullable | [optional]
**cookieNullable** | **kotlin.String**| cookie_nullable | [optional]
**dollarQueryDollarDollarSign** | **kotlin.String**| query parameter with dollar sign | [optional]
| **pathDefault** | **kotlin.String**| path default | |
| **pathNullable** | **kotlin.String**| path_nullable | |
| **queryDefault** | **kotlin.String**| query default | [optional] [default to &quot;available&quot;] |
| **queryDefaultEnum** | **kotlin.String**| query default enum | [optional] [default to B] [enum: A, B, C] |
| **queryDefaultInt** | **java.math.BigDecimal**| query default int | [optional] [default to 3] |
| **headerDefault** | **kotlin.String**| header default | [optional] [default to &quot;available&quot;] |
| **headerDefaultEnum** | **kotlin.String**| header default enum | [optional] [default to B] [enum: A, B, C] |
| **headerDefaultInt** | **java.math.BigDecimal**| header default int | [optional] [default to 3] |
| **cookieDefault** | **kotlin.String**| cookie default | [optional] [default to &quot;available&quot;] |
| **cookieDefaultEnum** | **kotlin.String**| cookie default enum | [optional] [default to B] [enum: A, B, C] |
| **cookieDefaultInt** | **java.math.BigDecimal**| cookie default int | [optional] [default to 3] |
| **queryNullable** | **kotlin.String**| query nullable | [optional] |
| **headerNullable** | **kotlin.String**| header nullable | [optional] |
| **cookieNullable** | **kotlin.String**| cookie_nullable | [optional] |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **dollarQueryDollarDollarSign** | **kotlin.String**| query parameter with dollar sign | [optional] |
### Return type

View File

@ -44,9 +44,9 @@ This runs all tests and packages the library.
All URIs are relative to *http://example.org*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*BirdApi* | [**getBird**](docs/BirdApi.md#getbird) | **GET** /v1/bird/{id} |
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
| *BirdApi* | [**getBird**](docs/BirdApi.md#getbird) | **GET** /v1/bird/{id} | |
<a id="documentation-for-models"></a>

View File

@ -2,9 +2,9 @@
# Animal
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | [**java.util.UUID**](java.util.UUID.md) | |
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **id** | [**java.util.UUID**](java.util.UUID.md) | | |

View File

@ -2,9 +2,9 @@
# Bird
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**featherType** | **kotlin.String** | |
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **featherType** | **kotlin.String** | | |

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://example.org*
Method | HTTP request | Description
------------- | ------------- | -------------
[**getBird**](BirdApi.md#getBird) | **GET** /v1/bird/{id} |
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**getBird**](BirdApi.md#getBird) | **GET** /v1/bird/{id} | |
<a id="getBird"></a>
@ -34,10 +34,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**id** | **java.util.UUID**| |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **id** | **java.util.UUID**| | |
### Return type

View File

@ -30,5 +30,6 @@ interface Animal {
@Json(name = "id")
val id: java.util.UUID
}

View File

@ -36,5 +36,8 @@ data class Bird (
@Json(name = "featherType")
val featherType: kotlin.String
) : Animal
) : Animal {
}

View File

@ -43,9 +43,9 @@ This runs all tests and packages the library.
All URIs are relative to *http://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**idsGet**](docs/DefaultApi.md#idsget) | **GET** /{ids} |
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
| *DefaultApi* | [**idsGet**](docs/DefaultApi.md#idsget) | **GET** /{ids} | |
<a id="documentation-for-models"></a>

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**idsGet**](DefaultApi.md#idsGet) | **GET** /{ids} |
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**idsGet**](DefaultApi.md#idsGet) | **GET** /{ids} | |
<a id="idsGet"></a>
@ -33,10 +33,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ids** | [**kotlin.collections.List&lt;kotlin.String&gt;**](kotlin.String.md)| |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **ids** | [**kotlin.collections.List&lt;kotlin.String&gt;**](kotlin.String.md)| | |
### Return type

View File

@ -34,9 +34,9 @@ This runs all tests and packages the library.
All URIs are relative to *http://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**idsGet**](docs/DefaultApi.md#idsget) | **GET** /{ids} |
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
| *DefaultApi* | [**idsGet**](docs/DefaultApi.md#idsget) | **GET** /{ids} | |
<a id="documentation-for-models"></a>

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**idsGet**](DefaultApi.md#idsGet) | **GET** /{ids} |
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**idsGet**](DefaultApi.md#idsGet) | **GET** /{ids} | |
<a id="idsGet"></a>
@ -33,10 +33,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ids** | [**kotlin.collections.List&lt;kotlin.String&gt;**](kotlin.String.md)| |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **ids** | [**kotlin.collections.List&lt;kotlin.String&gt;**](kotlin.String.md)| | |
### Return type

View File

@ -34,9 +34,9 @@ This runs all tests and packages the library.
All URIs are relative to *http://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**testPost**](docs/DefaultApi.md#testpost) | **POST** /test |
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
| *DefaultApi* | [**testPost**](docs/DefaultApi.md#testpost) | **POST** /test | |
<a id="documentation-for-models"></a>

View File

@ -2,14 +2,14 @@
# Apa
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**bepa** | **kotlin.Double** | |
**cepa** | **kotlin.Double** | |
**depa** | **kotlin.Double** | | [optional]
**epa** | **kotlin.Double** | | [optional]
**fepa** | **kotlin.Double** | | [optional]
**gepa** | **kotlin.Double** | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **bepa** | **kotlin.Double** | | |
| **cepa** | **kotlin.Double** | | |
| **depa** | **kotlin.Double** | | [optional] |
| **epa** | **kotlin.Double** | | [optional] |
| **fepa** | **kotlin.Double** | | [optional] |
| **gepa** | **kotlin.Double** | | [optional] |

View File

@ -2,9 +2,9 @@
All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**testPost**](DefaultApi.md#testPost) | **POST** /test |
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**testPost**](DefaultApi.md#testPost) | **POST** /test | |
<a id="testPost"></a>
@ -33,10 +33,9 @@ try {
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**apa** | [**Apa**](Apa.md)| |
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **apa** | [**Apa**](Apa.md)| | |
### Return type

View File

@ -47,5 +47,8 @@ data class Apa (
@SerialName(value = "gepa") val gepa: kotlin.Double? = null
)
) {
}

View File

@ -43,9 +43,9 @@ This runs all tests and packages the library.
All URIs are relative to *http://localhost*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*DefaultApi* | [**testPost**](docs/DefaultApi.md#testpost) | **POST** /test |
| Class | Method | HTTP request | Description |
| ------------ | ------------- | ------------- | ------------- |
| *DefaultApi* | [**testPost**](docs/DefaultApi.md#testpost) | **POST** /test | |
<a id="documentation-for-models"></a>

View File

@ -2,14 +2,14 @@
# Apa
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**bepa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | |
**cepa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | |
**depa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional]
**epa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional]
**fepa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional]
**gepa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional]
| Name | Type | Description | Notes |
| ------------ | ------------- | ------------- | ------------- |
| **bepa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | |
| **cepa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | |
| **depa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |
| **epa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |
| **fepa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |
| **gepa** | [**java.math.BigDecimal**](java.math.BigDecimal.md) | | [optional] |

Some files were not shown because too many files have changed in this diff Show More