mirror of
				https://github.com/OpenAPITools/openapi-generator.git
				synced 2025-10-31 16:53:54 +00:00 
			
		
		
		
	[kotlin-client] New generator: kotlin-jvm-spring-restclient (#17366)
* Created kotlin jvm spring restclient * Fixed kotlin jvm-spring-restclient * Fixed earlier problems * Fixed earlier problems * Updated kotlin.md
This commit is contained in:
		
							parent
							
								
									9eb5882f94
								
							
						
					
					
						commit
						7f05c1f41d
					
				
							
								
								
									
										1
									
								
								.github/workflows/samples-kotlin-client.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/samples-kotlin-client.yaml
									
									
									
									
										vendored
									
									
								
							| @ -63,6 +63,7 @@ jobs: | |||||||
|           - samples/client/petstore/kotlin-jvm-vertx-moshi |           - samples/client/petstore/kotlin-jvm-vertx-moshi | ||||||
|           - samples/client/petstore/kotlin-jvm-spring-2-webclient |           - samples/client/petstore/kotlin-jvm-spring-2-webclient | ||||||
|           - samples/client/petstore/kotlin-jvm-spring-3-webclient |           - samples/client/petstore/kotlin-jvm-spring-3-webclient | ||||||
|  |           - samples/client/petstore/kotlin-jvm-spring-3-restclient | ||||||
|           - samples/client/petstore/kotlin-spring-cloud |           - samples/client/petstore/kotlin-spring-cloud | ||||||
|           - samples/client/petstore/kotlin-name-parameter-mappings |           - samples/client/petstore/kotlin-name-parameter-mappings | ||||||
|           - samples/client/others/kotlin-jvm-okhttp-parameter-tests |           - samples/client/others/kotlin-jvm-okhttp-parameter-tests | ||||||
|  | |||||||
| @ -996,6 +996,7 @@ Here is a list of template creators: | |||||||
|    * Kotlin (MultiPlatform): @andrewemery |    * Kotlin (MultiPlatform): @andrewemery | ||||||
|    * Kotlin (Volley): @alisters |    * Kotlin (Volley): @alisters | ||||||
|    * Kotlin (jvm-spring-webclient): @stefankoppier |    * Kotlin (jvm-spring-webclient): @stefankoppier | ||||||
|  |    * Kotlin (jvm-spring-restclient): @stefankoppier | ||||||
|    * Lua: @daurnimator |    * Lua: @daurnimator | ||||||
|    * N4JS: @mmews-n4 |    * N4JS: @mmews-n4 | ||||||
|    * Nim: @hokamoto |    * Nim: @hokamoto | ||||||
|  | |||||||
							
								
								
									
										10
									
								
								bin/configs/kotlin-jvm-spring-3-restclient.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								bin/configs/kotlin-jvm-spring-3-restclient.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | generatorName: kotlin | ||||||
|  | outputDir: samples/client/petstore/kotlin-jvm-spring-3-restclient | ||||||
|  | library: jvm-spring-restclient | ||||||
|  | inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore.yaml | ||||||
|  | templateDir: modules/openapi-generator/src/main/resources/kotlin-client | ||||||
|  | additionalProperties: | ||||||
|  |   artifactId: kotlin-petstore-spring-restclient | ||||||
|  |   enumUnknownDefaultCase: true | ||||||
|  |   serializationLibrary: jackson | ||||||
|  |   useSpringBoot3: true | ||||||
| @ -28,7 +28,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl | |||||||
| |generateRoomModels|Generate Android Room database models in addition to API models (JVM Volley library only)| |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| | |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| | |idea|Add IntellJ Idea plugin and mark Kotlin main and test folders as source folders.| |false| | ||||||
| |library|Library template (sub-template) to use|<dl><dt>**jvm-ktor**</dt><dd>Platform: Java Virtual Machine. HTTP client: Ktor 1.6.7. JSON processing: Gson, Jackson (default).</dd><dt>**jvm-okhttp4**</dt><dd>[DEFAULT] Platform: Java Virtual Machine. HTTP client: OkHttp 4.2.0 (Android 5.0+ and Java 8+). JSON processing: Moshi 1.8.0.</dd><dt>**jvm-okhttp3**</dt><dd>Platform: Java Virtual Machine. HTTP client: OkHttp 3.12.4 (Android 2.3+ and Java 7+). JSON processing: Moshi 1.8.0. (DEPRECATED: this option will be remove in 7.x release)</dd><dt>**jvm-spring-webclient**</dt><dd>Platform: Java Virtual Machine. HTTP: Spring 5 (or 6 with useSpringBoot3 enabled) WebClient. JSON processing: Jackson.</dd><dt>**jvm-retrofit2**</dt><dd>Platform: Java Virtual Machine. HTTP client: Retrofit 2.6.2.</dd><dt>**multiplatform**</dt><dd>Platform: Kotlin multiplatform. HTTP client: Ktor 1.6.7. JSON processing: Kotlinx Serialization: 1.2.1.</dd><dt>**jvm-volley**</dt><dd>Platform: JVM for Android. HTTP client: Volley 1.2.1. JSON processing: gson 2.8.9</dd><dt>**jvm-vertx**</dt><dd>Platform: Java Virtual Machine. HTTP client: Vert.x Web Client. JSON processing: Moshi, Gson or Jackson.</dd></dl>|jvm-okhttp4| | |library|Library template (sub-template) to use|<dl><dt>**jvm-ktor**</dt><dd>Platform: Java Virtual Machine. HTTP client: Ktor 1.6.7. JSON processing: Gson, Jackson (default).</dd><dt>**jvm-okhttp4**</dt><dd>[DEFAULT] Platform: Java Virtual Machine. HTTP client: OkHttp 4.2.0 (Android 5.0+ and Java 8+). JSON processing: Moshi 1.8.0.</dd><dt>**jvm-okhttp3**</dt><dd>Platform: Java Virtual Machine. HTTP client: OkHttp 3.12.4 (Android 2.3+ and Java 7+). JSON processing: Moshi 1.8.0. (DEPRECATED: this option will be remove in 7.x release)</dd><dt>**jvm-spring-webclient**</dt><dd>Platform: Java Virtual Machine. HTTP: Spring 5 (or 6 with useSpringBoot3 enabled) WebClient. JSON processing: Jackson.</dd><dt>**jvm-spring-restclient**</dt><dd>Platform: Java Virtual Machine. HTTP: Spring 6 RestClient. JSON processing: Jackson.</dd><dt>**jvm-retrofit2**</dt><dd>Platform: Java Virtual Machine. HTTP client: Retrofit 2.6.2.</dd><dt>**multiplatform**</dt><dd>Platform: Kotlin multiplatform. HTTP client: Ktor 1.6.7. JSON processing: Kotlinx Serialization: 1.2.1.</dd><dt>**jvm-volley**</dt><dd>Platform: JVM for Android. HTTP client: Volley 1.2.1. JSON processing: gson 2.8.9</dd><dt>**jvm-vertx**</dt><dd>Platform: Java Virtual Machine. HTTP client: Vert.x Web Client. JSON processing: Moshi, Gson or Jackson.</dd></dl>|jvm-okhttp4| | ||||||
| |modelMutable|Create mutable models| |false| | |modelMutable|Create mutable models| |false| | ||||||
| |moshiCodeGen|Whether to enable codegen with the Moshi library. Refer to the [official Moshi doc](https://github.com/square/moshi#codegen) for more info.| |false| | |moshiCodeGen|Whether to enable codegen with the Moshi library. Refer to the [official Moshi doc](https://github.com/square/moshi#codegen) for more info.| |false| | ||||||
| |nullableReturnType|Nullable return type| |false| | |nullableReturnType|Nullable return type| |false| | ||||||
|  | |||||||
| @ -65,7 +65,9 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen { | |||||||
|     protected static final String MULTIPLATFORM = "multiplatform"; |     protected static final String MULTIPLATFORM = "multiplatform"; | ||||||
|     protected static final String JVM_VOLLEY = "jvm-volley"; |     protected static final String JVM_VOLLEY = "jvm-volley"; | ||||||
|     protected static final String JVM_VERTX = "jvm-vertx"; |     protected static final String JVM_VERTX = "jvm-vertx"; | ||||||
|  |     protected static final String JVM_SPRING = "jvm-spring"; | ||||||
|     protected static final String JVM_SPRING_WEBCLIENT = "jvm-spring-webclient"; |     protected static final String JVM_SPRING_WEBCLIENT = "jvm-spring-webclient"; | ||||||
|  |     protected static final String JVM_SPRING_RESTCLIENT = "jvm-spring-restclient"; | ||||||
| 
 | 
 | ||||||
|     public static final String USE_RX_JAVA3 = "useRxJava3"; |     public static final String USE_RX_JAVA3 = "useRxJava3"; | ||||||
|     public static final String USE_COROUTINES = "useCoroutines"; |     public static final String USE_COROUTINES = "useCoroutines"; | ||||||
| @ -221,6 +223,7 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen { | |||||||
|         supportedLibraries.put(JVM_OKHTTP4, "[DEFAULT] Platform: Java Virtual Machine. HTTP client: OkHttp 4.2.0 (Android 5.0+ and Java 8+). JSON processing: Moshi 1.8.0."); |         supportedLibraries.put(JVM_OKHTTP4, "[DEFAULT] Platform: Java Virtual Machine. HTTP client: OkHttp 4.2.0 (Android 5.0+ and Java 8+). JSON processing: Moshi 1.8.0."); | ||||||
|         supportedLibraries.put(JVM_OKHTTP3, "Platform: Java Virtual Machine. HTTP client: OkHttp 3.12.4 (Android 2.3+ and Java 7+). JSON processing: Moshi 1.8.0. (DEPRECATED: this option will be remove in 7.x release)"); |         supportedLibraries.put(JVM_OKHTTP3, "Platform: Java Virtual Machine. HTTP client: OkHttp 3.12.4 (Android 2.3+ and Java 7+). JSON processing: Moshi 1.8.0. (DEPRECATED: this option will be remove in 7.x release)"); | ||||||
|         supportedLibraries.put(JVM_SPRING_WEBCLIENT, "Platform: Java Virtual Machine. HTTP: Spring 5 (or 6 with useSpringBoot3 enabled) WebClient. JSON processing: Jackson."); |         supportedLibraries.put(JVM_SPRING_WEBCLIENT, "Platform: Java Virtual Machine. HTTP: Spring 5 (or 6 with useSpringBoot3 enabled) WebClient. JSON processing: Jackson."); | ||||||
|  |         supportedLibraries.put(JVM_SPRING_RESTCLIENT, "Platform: Java Virtual Machine. HTTP: Spring 6 RestClient. JSON processing: Jackson."); | ||||||
|         supportedLibraries.put(JVM_RETROFIT2, "Platform: Java Virtual Machine. HTTP client: Retrofit 2.6.2."); |         supportedLibraries.put(JVM_RETROFIT2, "Platform: Java Virtual Machine. HTTP client: Retrofit 2.6.2."); | ||||||
|         supportedLibraries.put(MULTIPLATFORM, "Platform: Kotlin multiplatform. HTTP client: Ktor 1.6.7. JSON processing: Kotlinx Serialization: 1.2.1."); |         supportedLibraries.put(MULTIPLATFORM, "Platform: Kotlin multiplatform. HTTP client: Ktor 1.6.7. JSON processing: Kotlinx Serialization: 1.2.1."); | ||||||
|         supportedLibraries.put(JVM_VOLLEY, "Platform: JVM for Android. HTTP client: Volley 1.2.1. JSON processing: gson 2.8.9"); |         supportedLibraries.put(JVM_VOLLEY, "Platform: JVM for Android. HTTP client: Volley 1.2.1. JSON processing: gson 2.8.9"); | ||||||
| @ -457,7 +460,10 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen { | |||||||
|                 processJVMRetrofit2Library(infrastructureFolder); |                 processJVMRetrofit2Library(infrastructureFolder); | ||||||
|                 break; |                 break; | ||||||
|             case JVM_SPRING_WEBCLIENT: |             case JVM_SPRING_WEBCLIENT: | ||||||
|                 processJVMSpringWebClientLibrary(infrastructureFolder); |                 processJvmSpringWebClientLibrary(infrastructureFolder); | ||||||
|  |                 break; | ||||||
|  |             case JVM_SPRING_RESTCLIENT: | ||||||
|  |                 processJvmSpringRestClientLibrary(infrastructureFolder); | ||||||
|                 break; |                 break; | ||||||
|             case MULTIPLATFORM: |             case MULTIPLATFORM: | ||||||
|                 processMultiplatformLibrary(infrastructureFolder); |                 processMultiplatformLibrary(infrastructureFolder); | ||||||
| @ -746,7 +752,7 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen { | |||||||
|         supportingFiles.add(new SupportingFile("infrastructure/ApiResponse.kt.mustache", infrastructureFolder, "ApiResponse.kt")); |         supportingFiles.add(new SupportingFile("infrastructure/ApiResponse.kt.mustache", infrastructureFolder, "ApiResponse.kt")); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private void processJVMSpringWebClientLibrary(final String infrastructureFolder) { |     private void proccessJvmSpring(final String infrastructureFolder) { | ||||||
|         if (getSerializationLibrary() != SERIALIZATION_LIBRARY_TYPE.jackson) { |         if (getSerializationLibrary() != SERIALIZATION_LIBRARY_TYPE.jackson) { | ||||||
|             throw new RuntimeException("This library currently only supports jackson serialization. Try adding '--additional-properties serializationLibrary=jackson' to your command."); |             throw new RuntimeException("This library currently only supports jackson serialization. Try adding '--additional-properties serializationLibrary=jackson' to your command."); | ||||||
|         } |         } | ||||||
| @ -754,10 +760,24 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen { | |||||||
|         commonJvmMultiplatformSupportingFiles(infrastructureFolder); |         commonJvmMultiplatformSupportingFiles(infrastructureFolder); | ||||||
|         addSupportingSerializerAdapters(infrastructureFolder); |         addSupportingSerializerAdapters(infrastructureFolder); | ||||||
| 
 | 
 | ||||||
|  |         additionalProperties.put(JVM_SPRING, true); | ||||||
|         additionalProperties.put(JVM, true); |         additionalProperties.put(JVM, true); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private void processJvmSpringWebClientLibrary(final String infrastructureFolder) { | ||||||
|  |         proccessJvmSpring(infrastructureFolder); | ||||||
|         additionalProperties.put(JVM_SPRING_WEBCLIENT, true); |         additionalProperties.put(JVM_SPRING_WEBCLIENT, true); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     private void processJvmSpringRestClientLibrary(final String infrastructureFolder) { | ||||||
|  |         if (additionalProperties.getOrDefault(USE_SPRING_BOOT3, false).equals(false)) { | ||||||
|  |             throw new RuntimeException("This library muse use spring boot 3. Try adding '--additional-properties useSpringBoot3=true' to your command."); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         proccessJvmSpring(infrastructureFolder); | ||||||
|  |         additionalProperties.put(JVM_SPRING_RESTCLIENT, true); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     private void processMultiplatformLibrary(final String infrastructureFolder) { |     private void processMultiplatformLibrary(final String infrastructureFolder) { | ||||||
|         commonJvmMultiplatformSupportingFiles(infrastructureFolder); |         commonJvmMultiplatformSupportingFiles(infrastructureFolder); | ||||||
|         additionalProperties.put(MULTIPLATFORM, true); |         additionalProperties.put(MULTIPLATFORM, true); | ||||||
|  | |||||||
| @ -28,15 +28,17 @@ buildscript { | |||||||
|     {{#jvm-vertx}} |     {{#jvm-vertx}} | ||||||
|     ext.vertx_version = "4.3.3" |     ext.vertx_version = "4.3.3" | ||||||
|     {{/jvm-vertx}} |     {{/jvm-vertx}} | ||||||
|     {{#jvm-spring-webclient}} |     {{#jvm-spring}} | ||||||
|     {{#useSpringBoot3}} |     {{#useSpringBoot3}} | ||||||
|     ext.spring_boot_version = "3.1.0" |     ext.spring_boot_version = "3.2.0" | ||||||
|     {{/useSpringBoot3}} |     {{/useSpringBoot3}} | ||||||
|     {{^useSpringBoot3}} |     {{^useSpringBoot3}} | ||||||
|     ext.spring_boot_version = "2.7.12" |     ext.spring_boot_version = "2.7.12" | ||||||
|     {{/useSpringBoot3}} |     {{/useSpringBoot3}} | ||||||
|  |     {{#jvm-spring-webclient}} | ||||||
|     ext.reactor_version = "3.5.6" |     ext.reactor_version = "3.5.6" | ||||||
|     {{/jvm-spring-webclient}} |     {{/jvm-spring-webclient}} | ||||||
|  |     {{/jvm-spring}} | ||||||
|     ext.spotless_version = "6.13.0" |     ext.spotless_version = "6.13.0" | ||||||
| 
 | 
 | ||||||
|     repositories { |     repositories { | ||||||
| @ -113,6 +115,13 @@ kotlin { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| {{/useSpringBoot3}}{{/jvm-spring-webclient}} | {{/useSpringBoot3}}{{/jvm-spring-webclient}} | ||||||
|  | {{#jvm-spring-restclient}} | ||||||
|  | kotlin { | ||||||
|  |     jvmToolchain { | ||||||
|  |         languageVersion.set(JavaLanguageVersion.of(17)) | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | {{/jvm-spring-restclient}} | ||||||
| dependencies { | dependencies { | ||||||
|     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" |     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" | ||||||
|     {{^doNotUseRxAndCoroutines}} |     {{^doNotUseRxAndCoroutines}} | ||||||
| @ -165,6 +174,9 @@ dependencies { | |||||||
|     implementation "org.springframework.boot:spring-boot-starter-webflux:$spring_boot_version" |     implementation "org.springframework.boot:spring-boot-starter-webflux:$spring_boot_version" | ||||||
|     implementation "io.projectreactor:reactor-core:$reactor_version" |     implementation "io.projectreactor:reactor-core:$reactor_version" | ||||||
|     {{/jvm-spring-webclient}} |     {{/jvm-spring-webclient}} | ||||||
|  |     {{#jvm-spring-restclient}} | ||||||
|  |     implementation "org.springframework.boot:spring-boot-starter-web:$spring_boot_version" | ||||||
|  |     {{/jvm-spring-restclient}} | ||||||
|     {{#threetenbp}} |     {{#threetenbp}} | ||||||
|     implementation "org.threeten:threetenbp:1.6.8" |     implementation "org.threeten:threetenbp:1.6.8" | ||||||
|     {{/threetenbp}} |     {{/threetenbp}} | ||||||
|  | |||||||
| @ -0,0 +1,137 @@ | |||||||
|  | {{>licenseInfo}} | ||||||
|  | package {{apiPackage}} | ||||||
|  | 
 | ||||||
|  | {{#jackson}} | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | {{/jackson}} | ||||||
|  | 
 | ||||||
|  | import org.springframework.web.client.RestClient | ||||||
|  | import org.springframework.web.client.RestClientResponseException | ||||||
|  | 
 | ||||||
|  | {{#jackson}} | ||||||
|  | import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter | ||||||
|  | {{/jackson}} | ||||||
|  | import org.springframework.http.ResponseEntity | ||||||
|  | import org.springframework.http.MediaType | ||||||
|  | 
 | ||||||
|  | {{#imports}}import {{import}} | ||||||
|  | {{/imports}} | ||||||
|  | import {{packageName}}.infrastructure.* | ||||||
|  | 
 | ||||||
|  | {{#operations}} | ||||||
|  | {{#nonPublicApi}}internal {{/nonPublicApi}}class {{classname}}(client: RestClient) : ApiClient(client) { | ||||||
|  | 
 | ||||||
|  |     {{#jackson}} | ||||||
|  |     constructor(baseUrl: String) : this(RestClient.builder() | ||||||
|  |         .baseUrl(baseUrl) | ||||||
|  |         .messageConverters { it.add(MappingJackson2HttpMessageConverter()) } | ||||||
|  |         .build() | ||||||
|  |     ) | ||||||
|  |     {{/jackson}} | ||||||
|  | 
 | ||||||
|  |     {{#operation}} | ||||||
|  |     {{#allParams}} | ||||||
|  |     {{#isEnum}} | ||||||
|  |     /** | ||||||
|  |      * enum for parameter {{paramName}} | ||||||
|  |      */ | ||||||
|  |      {{#nonPublicApi}}internal {{/nonPublicApi}}enum class {{enumName}}{{operationIdCamelCase}}(val value: {{^isContainer}}{{dataType}}{{/isContainer}}{{#isContainer}}kotlin.String{{/isContainer}}) { | ||||||
|  |      {{^enumUnknownDefaultCase}} | ||||||
|  |      {{#allowableValues}} | ||||||
|  |      {{#enumVars}} | ||||||
|  |          {{#jackson}} | ||||||
|  |          @JsonProperty(value = {{^isString}}"{{/isString}}{{{value}}}{{^isString}}"{{/isString}}) {{&name}}({{{value}}}){{^-last}},{{/-last}} | ||||||
|  |          {{/jackson}} | ||||||
|  |      {{/enumVars}} | ||||||
|  |      {{/allowableValues}} | ||||||
|  |      {{/enumUnknownDefaultCase}} | ||||||
|  |      {{#enumUnknownDefaultCase}} | ||||||
|  |      {{#allowableValues}} | ||||||
|  |      {{#enumVars}} | ||||||
|  |      {{^-last}} | ||||||
|  |          {{#jackson}} | ||||||
|  |          @JsonProperty(value = {{^isString}}"{{/isString}}{{{value}}}{{^isString}}"{{/isString}}) {{&name}}({{{value}}}), | ||||||
|  |          {{/jackson}} | ||||||
|  |      {{/-last}} | ||||||
|  |      {{/enumVars}} | ||||||
|  |      {{/allowableValues}} | ||||||
|  |      {{/enumUnknownDefaultCase}} | ||||||
|  |      } | ||||||
|  | 
 | ||||||
|  |     {{/isEnum}} | ||||||
|  |     {{/allParams}} | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     {{#isDeprecated}} | ||||||
|  |     @Deprecated(message = "This operation is deprecated.") | ||||||
|  |     {{/isDeprecated}} | ||||||
|  |     fun {{operationId}}({{#allParams}}{{{paramName}}}: {{#isEnum}}{{#isContainer}}kotlin.collections.List<{{enumName}}{{operationIdCamelCase}}>{{/isContainer}}{{^isContainer}}{{enumName}}{{operationIdCamelCase}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}?{{/required}}{{^-last}}, {{/-last}}{{/allParams}}): {{#returnType}}{{{returnType}}}{{#nullableReturnType}}?{{/nullableReturnType}}{{/returnType}}{{^returnType}}Unit{{/returnType}} { | ||||||
|  |         return {{operationId}}WithHttpInfo({{#allParams}}{{{paramName}}} = {{{paramName}}}{{^-last}}, {{/-last}}{{/allParams}}) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     {{#isDeprecated}} | ||||||
|  |     @Deprecated(message = "This operation is deprecated.") | ||||||
|  |     {{/isDeprecated}} | ||||||
|  |     fun {{operationId}}WithHttpInfo({{#allParams}}{{{paramName}}}: {{#isEnum}}{{#isContainer}}kotlin.collections.List<{{enumName}}{{operationIdCamelCase}}>{{/isContainer}}{{^isContainer}}{{enumName}}{{operationIdCamelCase}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}?{{/required}}{{^-last}}, {{/-last}}{{/allParams}}): ResponseEntity<{{#returnType}}{{{returnType}}}{{#nullableReturnType}}?{{/nullableReturnType}}{{/returnType}}{{^returnType}}Unit{{/returnType}}> { | ||||||
|  |         val localVariableConfig = {{operationId}}RequestConfig({{#allParams}}{{{paramName}}} = {{{paramName}}}{{^-last}}, {{/-last}}{{/allParams}}) | ||||||
|  |         return request<{{#hasBodyParam}}{{#bodyParams}}{{{dataType}}}{{/bodyParams}}{{/hasBodyParam}}{{^hasBodyParam}}{{^hasFormParams}}Unit{{/hasFormParams}}{{#hasFormParams}}Map<String, PartConfig<*>>{{/hasFormParams}}{{/hasBodyParam}}, {{{returnType}}}{{^returnType}}Unit{{/returnType}}>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     {{#isDeprecated}} | ||||||
|  |     @Deprecated(message = "This operation is deprecated.") | ||||||
|  |     {{/isDeprecated}} | ||||||
|  |     fun {{operationId}}RequestConfig({{#allParams}}{{{paramName}}}: {{#isEnum}}{{#isContainer}}kotlin.collections.List<{{enumName}}{{operationIdCamelCase}}>{{/isContainer}}{{^isContainer}}{{enumName}}{{operationIdCamelCase}}{{/isContainer}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{^required}}?{{/required}}{{^-last}}, {{/-last}}{{/allParams}}) : RequestConfig<{{#hasBodyParam}}{{#bodyParams}}{{{dataType}}}{{/bodyParams}}{{/hasBodyParam}}{{^hasBodyParam}}{{^hasFormParams}}Unit{{/hasFormParams}}{{#hasFormParams}}Map<String, PartConfig<*>>{{/hasFormParams}}{{/hasBodyParam}}> { | ||||||
|  |         val localVariableBody = {{#hasBodyParam}}{{! | ||||||
|  |           }}{{#bodyParams}}{{{paramName}}}{{/bodyParams}}{{/hasBodyParam}}{{^hasBodyParam}}{{! | ||||||
|  |           }}{{^hasFormParams}}null{{/hasFormParams}}{{! | ||||||
|  |           }}{{#hasFormParams}}mapOf({{#formParams}} | ||||||
|  |             "{{{baseName}}}" to PartConfig(body = {{{paramName}}}{{#isEnum}}.value{{/isEnum}}, headers = mutableMapOf({{#contentType}}"Content-Type" to "{{contentType}}"{{/contentType}})),{{! | ||||||
|  |             }}{{/formParams}}){{/hasFormParams}}{{! | ||||||
|  |         }}{{/hasBodyParam}} | ||||||
|  |         val localVariableQuery = {{^hasQueryParams}}mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  | {{/hasQueryParams}}{{#hasQueryParams}}mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |             .apply { | ||||||
|  |                 {{#queryParams}} | ||||||
|  |                 {{^required}} | ||||||
|  |                 if ({{{paramName}}} != null) { | ||||||
|  |                     put("{{baseName}}", {{#isContainer}}toMultiValue({{{paramName}}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf({{#isDateTime}}parseDateToQueryString({{{paramName}}}){{/isDateTime}}{{#isDate}}parseDateToQueryString({{{paramName}}}){{/isDate}}{{^isDateTime}}{{^isDate}}{{{paramName}}}.toString(){{/isDate}}{{/isDateTime}}){{/isContainer}}) | ||||||
|  |                 } | ||||||
|  |                 {{/required}} | ||||||
|  |                 {{#required}} | ||||||
|  |                 {{#isNullable}} | ||||||
|  |                 if ({{{paramName}}} != null) { | ||||||
|  |                     put("{{baseName}}", {{#isContainer}}toMultiValue({{{paramName}}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf({{#isDateTime}}parseDateToQueryString({{{paramName}}}){{/isDateTime}}{{#isDate}}parseDateToQueryString({{{paramName}}}){{/isDate}}{{^isDateTime}}{{^isDate}}{{{paramName}}}.toString(){{/isDate}}{{/isDateTime}}){{/isContainer}}) | ||||||
|  |                 } | ||||||
|  |                 {{/isNullable}} | ||||||
|  |                 {{^isNullable}} | ||||||
|  |                 put("{{baseName}}", {{#isContainer}}toMultiValue({{{paramName}}}.toList(), "{{collectionFormat}}"){{/isContainer}}{{^isContainer}}listOf({{#isDateTime}}parseDateToQueryString({{{paramName}}}){{/isDateTime}}{{#isDate}}parseDateToQueryString({{{paramName}}}){{/isDate}}{{^isDateTime}}{{^isDate}}{{{paramName}}}.toString(){{/isDate}}{{/isDateTime}}){{/isContainer}}) | ||||||
|  |                 {{/isNullable}} | ||||||
|  |                 {{/required}} | ||||||
|  |                 {{/queryParams}} | ||||||
|  |             } | ||||||
|  |             {{/hasQueryParams}} | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf({{#hasFormParams}}"Content-Type" to {{^consumes}}"multipart/form-data"{{/consumes}}{{#consumes.0}}"{{{mediaType}}}"{{/consumes.0}}{{/hasFormParams}}) | ||||||
|  |         {{#headerParams}} | ||||||
|  |         {{{paramName}}}{{^required}}?{{/required}}.apply { localVariableHeaders["{{baseName}}"] = {{#isContainer}}this.joinToString(separator = collectionDelimiter("{{collectionFormat}}")){{/isContainer}}{{^isContainer}}this.toString(){{/isContainer}} } | ||||||
|  |         {{/headerParams}} | ||||||
|  |         {{^hasFormParams}}{{#hasConsumes}}{{#consumes}}localVariableHeaders["Content-Type"] = "{{{mediaType}}}" | ||||||
|  |         {{/consumes}}{{/hasConsumes}}{{/hasFormParams}}{{#hasProduces}}localVariableHeaders["Accept"] = "{{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}" | ||||||
|  | {{/hasProduces}} | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.{{httpMethod}}, | ||||||
|  |             path = "{{path}}"{{#pathParams}}.replace("{"+"{{baseName}}"+"}", encodeURIComponent({{#isContainer}}{{paramName}}.joinToString(","){{/isContainer}}{{^isContainer}}{{{paramName}}}{{#isEnum}}.value{{/isEnum}}.toString(){{/isContainer}})){{/pathParams}}, | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = {{#hasAuthMethods}}true{{/hasAuthMethods}}{{^hasAuthMethods}}false{{/hasAuthMethods}}, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     {{/operation}} | ||||||
|  | } | ||||||
|  | {{/operations}} | ||||||
| @ -0,0 +1,72 @@ | |||||||
|  | package {{packageName}}.infrastructure; | ||||||
|  | 
 | ||||||
|  | import org.springframework.core.ParameterizedTypeReference | ||||||
|  | import org.springframework.http.HttpHeaders | ||||||
|  | import org.springframework.http.HttpMethod | ||||||
|  | import org.springframework.http.MediaType | ||||||
|  | import org.springframework.web.util.UriUtils | ||||||
|  | import org.springframework.web.client.RestClient | ||||||
|  | import org.springframework.http.ResponseEntity | ||||||
|  | 
 | ||||||
|  | open class ApiClient(protected val client: RestClient) { | ||||||
|  | 
 | ||||||
|  |     protected inline fun <reified I : Any, reified T: Any?> request(requestConfig: RequestConfig<I>): ResponseEntity<T> { | ||||||
|  |         return prepare(defaults(requestConfig)) | ||||||
|  |             .retrieve() | ||||||
|  |             .toEntity(object : ParameterizedTypeReference<T>() {}) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     protected fun <I : Any> prepare(requestConfig: RequestConfig<I>) = | ||||||
|  |         client.method(requestConfig) | ||||||
|  |             .uri(requestConfig) | ||||||
|  |             .headers(requestConfig) | ||||||
|  |             .nullableBody(requestConfig) | ||||||
|  | 
 | ||||||
|  |     protected fun <I> defaults(requestConfig: RequestConfig<I>) = | ||||||
|  |         requestConfig.apply { | ||||||
|  |             if (body != null && headers[HttpHeaders.CONTENT_TYPE].isNullOrEmpty()) { | ||||||
|  |                 headers[HttpHeaders.CONTENT_TYPE] = MediaType.APPLICATION_JSON_VALUE | ||||||
|  |             } | ||||||
|  |             if (headers[HttpHeaders.ACCEPT].isNullOrEmpty()) { | ||||||
|  |                 headers[HttpHeaders.ACCEPT] = MediaType.APPLICATION_JSON_VALUE | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |     protected fun encodeURIComponent(uriComponent: kotlin.String) = | ||||||
|  |         UriUtils.encodeFragment(uriComponent, Charsets.UTF_8) | ||||||
|  | 
 | ||||||
|  |     private fun <I> RestClient.method(requestConfig: RequestConfig<I>)= | ||||||
|  |         method(HttpMethod.valueOf(requestConfig.method.name)) | ||||||
|  | 
 | ||||||
|  |     private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) = | ||||||
|  |         uri { builder -> | ||||||
|  |             builder.path(requestConfig.path).apply { | ||||||
|  |                 requestConfig.query.forEach { (name, value) -> | ||||||
|  |                     queryParam(name, value) | ||||||
|  |                 } | ||||||
|  |             }.build() | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |     private fun <I> RestClient.RequestBodySpec.headers(requestConfig: RequestConfig<I>) = | ||||||
|  |         apply { requestConfig.headers.forEach { (name, value) -> header(name, value) } } | ||||||
|  | 
 | ||||||
|  |     private fun <I : Any> RestClient.RequestBodySpec.nullableBody(requestConfig: RequestConfig<I>) = | ||||||
|  |         apply { if (requestConfig.body != null) body(requestConfig.body) } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | inline fun <reified T: Any> parseDateToQueryString(value : T): String { | ||||||
|  |         {{#toJson}} | ||||||
|  |         /* | ||||||
|  |         .replace("\"", "") converts the json object string to an actual string for the query parameter. | ||||||
|  |         The moshi or gson adapter allows a more generic solution instead of trying to use a native | ||||||
|  |         formatter. It also easily allows to provide a simple way to define a custom date format pattern | ||||||
|  |         inside a gson/moshi adapter. | ||||||
|  |         */ | ||||||
|  |         {{#jackson}} | ||||||
|  |         return Serializer.jacksonObjectMapper.writeValueAsString(value).replace("\"", "") | ||||||
|  |         {{/jackson}} | ||||||
|  |         {{/toJson}} | ||||||
|  |         {{^toJson}} | ||||||
|  |         return value.toString() | ||||||
|  |         {{/toJson}} | ||||||
|  |     } | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | # OpenAPI Generator Ignore | ||||||
|  | # Generated by openapi-generator https://github.com/openapitools/openapi-generator | ||||||
|  | 
 | ||||||
|  | # Use this file to prevent files from being overwritten by the generator. | ||||||
|  | # The patterns follow closely to .gitignore or .dockerignore. | ||||||
|  | 
 | ||||||
|  | # As an example, the C# client generator defines ApiClient.cs. | ||||||
|  | # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: | ||||||
|  | #ApiClient.cs | ||||||
|  | 
 | ||||||
|  | # You can match any string of characters against a directory, file or extension with a single asterisk (*): | ||||||
|  | #foo/*/qux | ||||||
|  | # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux | ||||||
|  | 
 | ||||||
|  | # You can recursively match patterns against a directory, file or extension with a double asterisk (**): | ||||||
|  | #foo/**/qux | ||||||
|  | # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux | ||||||
|  | 
 | ||||||
|  | # You can also negate patterns with an exclamation (!). | ||||||
|  | # For example, you can ignore all files in a docs folder with the file extension .md: | ||||||
|  | #docs/*.md | ||||||
|  | # Then explicitly reverse the ignore rule for a single file: | ||||||
|  | #!docs/README.md | ||||||
| @ -0,0 +1,31 @@ | |||||||
|  | README.md | ||||||
|  | build.gradle | ||||||
|  | docs/ApiResponse.md | ||||||
|  | docs/Category.md | ||||||
|  | docs/Order.md | ||||||
|  | docs/Pet.md | ||||||
|  | docs/PetApi.md | ||||||
|  | docs/StoreApi.md | ||||||
|  | docs/Tag.md | ||||||
|  | docs/User.md | ||||||
|  | docs/UserApi.md | ||||||
|  | gradle/wrapper/gradle-wrapper.jar | ||||||
|  | gradle/wrapper/gradle-wrapper.properties | ||||||
|  | gradlew | ||||||
|  | gradlew.bat | ||||||
|  | settings.gradle | ||||||
|  | src/main/kotlin/org/openapitools/client/apis/PetApi.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/apis/StoreApi.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/apis/UserApi.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/infrastructure/ApiAbstractions.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/infrastructure/ApiClient.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/infrastructure/PartConfig.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/infrastructure/RequestConfig.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/infrastructure/RequestMethod.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/infrastructure/Serializer.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/models/Category.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/models/ModelApiResponse.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/models/Order.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/models/Pet.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/models/Tag.kt | ||||||
|  | src/main/kotlin/org/openapitools/client/models/User.kt | ||||||
| @ -0,0 +1 @@ | |||||||
|  | 7.2.0-SNAPSHOT | ||||||
							
								
								
									
										101
									
								
								samples/client/petstore/kotlin-jvm-spring-3-restclient/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								samples/client/petstore/kotlin-jvm-spring-3-restclient/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,101 @@ | |||||||
|  | # org.openapitools.client - Kotlin client library for OpenAPI Petstore | ||||||
|  | 
 | ||||||
|  | This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. | ||||||
|  | 
 | ||||||
|  | ## Overview | ||||||
|  | This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.  By using the [openapi-spec](https://github.com/OAI/OpenAPI-Specification) from a remote server, you can easily generate an API client. | ||||||
|  | 
 | ||||||
|  | - API version: 1.0.0 | ||||||
|  | - Package version:  | ||||||
|  | - Build package: org.openapitools.codegen.languages.KotlinClientCodegen | ||||||
|  | 
 | ||||||
|  | ## Requires | ||||||
|  | 
 | ||||||
|  | * Kotlin 1.7.21 | ||||||
|  | * Gradle 7.5 | ||||||
|  | 
 | ||||||
|  | ## Build | ||||||
|  | 
 | ||||||
|  | First, create the gradle wrapper script: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | gradle wrapper | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Then, run: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | ./gradlew check assemble | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | This runs all tests and packages the library. | ||||||
|  | 
 | ||||||
|  | ## Features/Implementation Notes | ||||||
|  | 
 | ||||||
|  | * Supports JSON inputs/outputs, File inputs, and Form inputs. | ||||||
|  | * Supports collection formats for query parameters: csv, tsv, ssv, pipes. | ||||||
|  | * Some Kotlin and Java types are fully qualified to avoid conflicts with types defined in OpenAPI definitions. | ||||||
|  | * Implementation of ApiClient is intended to reduce method counts, specifically to benefit Android targets. | ||||||
|  | 
 | ||||||
|  | <a id="documentation-for-api-endpoints"></a> | ||||||
|  | ## Documentation for API Endpoints | ||||||
|  | 
 | ||||||
|  | All URIs are relative to *http://petstore.swagger.io/v2* | ||||||
|  | 
 | ||||||
|  | Class | Method | HTTP request | Description | ||||||
|  | ------------ | ------------- | ------------- | ------------- | ||||||
|  | *PetApi* | [**addPet**](docs/PetApi.md#addpet) | **POST** /pet | Add a new pet to the store | ||||||
|  | *PetApi* | [**deletePet**](docs/PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet | ||||||
|  | *PetApi* | [**findPetsByStatus**](docs/PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status | ||||||
|  | *PetApi* | [**findPetsByTags**](docs/PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags | ||||||
|  | *PetApi* | [**getPetById**](docs/PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID | ||||||
|  | *PetApi* | [**updatePet**](docs/PetApi.md#updatepet) | **PUT** /pet | Update an existing pet | ||||||
|  | *PetApi* | [**updatePetWithForm**](docs/PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data | ||||||
|  | *PetApi* | [**uploadFile**](docs/PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image | ||||||
|  | *StoreApi* | [**deleteOrder**](docs/StoreApi.md#deleteorder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID | ||||||
|  | *StoreApi* | [**getInventory**](docs/StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status | ||||||
|  | *StoreApi* | [**getOrderById**](docs/StoreApi.md#getorderbyid) | **GET** /store/order/{orderId} | Find purchase order by ID | ||||||
|  | *StoreApi* | [**placeOrder**](docs/StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet | ||||||
|  | *UserApi* | [**createUser**](docs/UserApi.md#createuser) | **POST** /user | Create user | ||||||
|  | *UserApi* | [**createUsersWithArrayInput**](docs/UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array | ||||||
|  | *UserApi* | [**createUsersWithListInput**](docs/UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array | ||||||
|  | *UserApi* | [**deleteUser**](docs/UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user | ||||||
|  | *UserApi* | [**getUserByName**](docs/UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name | ||||||
|  | *UserApi* | [**loginUser**](docs/UserApi.md#loginuser) | **GET** /user/login | Logs user into the system | ||||||
|  | *UserApi* | [**logoutUser**](docs/UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session | ||||||
|  | *UserApi* | [**updateUser**](docs/UserApi.md#updateuser) | **PUT** /user/{username} | Updated user | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <a id="documentation-for-models"></a> | ||||||
|  | ## Documentation for Models | ||||||
|  | 
 | ||||||
|  |  - [org.openapitools.client.models.Category](docs/Category.md) | ||||||
|  |  - [org.openapitools.client.models.ModelApiResponse](docs/ModelApiResponse.md) | ||||||
|  |  - [org.openapitools.client.models.Order](docs/Order.md) | ||||||
|  |  - [org.openapitools.client.models.Pet](docs/Pet.md) | ||||||
|  |  - [org.openapitools.client.models.Tag](docs/Tag.md) | ||||||
|  |  - [org.openapitools.client.models.User](docs/User.md) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <a id="documentation-for-authorization"></a> | ||||||
|  | ## Documentation for Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Authentication schemes defined for the API: | ||||||
|  | <a id="petstore_auth"></a> | ||||||
|  | ### petstore_auth | ||||||
|  | 
 | ||||||
|  | - **Type**: OAuth | ||||||
|  | - **Flow**: implicit | ||||||
|  | - **Authorization URL**: http://petstore.swagger.io/api/oauth/dialog | ||||||
|  | - **Scopes**:  | ||||||
|  |   - write:pets: modify pets in your account | ||||||
|  |   - read:pets: read your pets | ||||||
|  | 
 | ||||||
|  | <a id="api_key"></a> | ||||||
|  | ### api_key | ||||||
|  | 
 | ||||||
|  | - **Type**: API key | ||||||
|  | - **API key parameter name**: api_key | ||||||
|  | - **Location**: HTTP header | ||||||
|  | 
 | ||||||
| @ -0,0 +1,68 @@ | |||||||
|  | group 'org.openapitools' | ||||||
|  | version '1.0.0' | ||||||
|  | 
 | ||||||
|  | wrapper { | ||||||
|  |     gradleVersion = '7.5' | ||||||
|  |     distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | buildscript { | ||||||
|  |     ext.kotlin_version = '1.8.10' | ||||||
|  |     ext.spring_boot_version = "3.2.0" | ||||||
|  |     ext.spotless_version = "6.13.0" | ||||||
|  | 
 | ||||||
|  |     repositories { | ||||||
|  |         maven { url "https://repo1.maven.org/maven2" } | ||||||
|  |     } | ||||||
|  |     dependencies { | ||||||
|  |         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" | ||||||
|  |         classpath "com.diffplug.spotless:spotless-plugin-gradle:$spotless_version" | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | apply plugin: 'kotlin' | ||||||
|  | apply plugin: 'maven-publish' | ||||||
|  | apply plugin: 'com.diffplug.spotless' | ||||||
|  | 
 | ||||||
|  | repositories { | ||||||
|  |     maven { url "https://repo1.maven.org/maven2" } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Use spotless plugin to automatically format code, remove unused import, etc | ||||||
|  | // To apply changes directly to the file, run `gradlew spotlessApply` | ||||||
|  | // Ref: https://github.com/diffplug/spotless/tree/main/plugin-gradle | ||||||
|  | spotless { | ||||||
|  |     // comment out below to run spotless as part of the `check` task | ||||||
|  |     enforceCheck false | ||||||
|  | 
 | ||||||
|  |     format 'misc', { | ||||||
|  |         // define the files (e.g. '*.gradle', '*.md') to apply `misc` to | ||||||
|  |         target '.gitignore' | ||||||
|  | 
 | ||||||
|  |         // define the steps to apply to those files | ||||||
|  |         trimTrailingWhitespace() | ||||||
|  |         indentWithSpaces() // Takes an integer argument if you don't like 4 | ||||||
|  |         endWithNewline() | ||||||
|  |     } | ||||||
|  |     kotlin { | ||||||
|  |         ktfmt() | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | test { | ||||||
|  |     useJUnitPlatform() | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | kotlin { | ||||||
|  |     jvmToolchain { | ||||||
|  |         languageVersion.set(JavaLanguageVersion.of(17)) | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | dependencies { | ||||||
|  |     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" | ||||||
|  |     implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" | ||||||
|  |     implementation "com.fasterxml.jackson.module:jackson-module-kotlin:2.14.3" | ||||||
|  |     implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.3" | ||||||
|  |     implementation "org.springframework.boot:spring-boot-starter-web:$spring_boot_version" | ||||||
|  |     testImplementation "io.kotlintest:kotlintest-runner-junit5:3.4.2" | ||||||
|  | } | ||||||
| @ -0,0 +1,12 @@ | |||||||
|  | 
 | ||||||
|  | # ModelApiResponse | ||||||
|  | 
 | ||||||
|  | ## Properties | ||||||
|  | Name | Type | Description | Notes | ||||||
|  | ------------ | ------------- | ------------- | ------------- | ||||||
|  | **code** | **kotlin.Int** |  |  [optional] | ||||||
|  | **type** | **kotlin.String** |  |  [optional] | ||||||
|  | **message** | **kotlin.String** |  |  [optional] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | 
 | ||||||
|  | # Category | ||||||
|  | 
 | ||||||
|  | ## Properties | ||||||
|  | Name | Type | Description | Notes | ||||||
|  | ------------ | ------------- | ------------- | ------------- | ||||||
|  | **id** | **kotlin.Long** |  |  [optional] | ||||||
|  | **name** | **kotlin.String** |  |  [optional] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,22 @@ | |||||||
|  | 
 | ||||||
|  | # Order | ||||||
|  | 
 | ||||||
|  | ## Properties | ||||||
|  | Name | Type | Description | Notes | ||||||
|  | ------------ | ------------- | ------------- | ------------- | ||||||
|  | **id** | **kotlin.Long** |  |  [optional] | ||||||
|  | **petId** | **kotlin.Long** |  |  [optional] | ||||||
|  | **quantity** | **kotlin.Int** |  |  [optional] | ||||||
|  | **shipDate** | [**java.time.OffsetDateTime**](java.time.OffsetDateTime.md) |  |  [optional] | ||||||
|  | **status** | [**inline**](#Status) | Order Status |  [optional] | ||||||
|  | **complete** | **kotlin.Boolean** |  |  [optional] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <a id="Status"></a> | ||||||
|  | ## Enum: status | ||||||
|  | Name | Value | ||||||
|  | ---- | ----- | ||||||
|  | status | placed, approved, delivered | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,22 @@ | |||||||
|  | 
 | ||||||
|  | # Pet | ||||||
|  | 
 | ||||||
|  | ## Properties | ||||||
|  | Name | Type | Description | Notes | ||||||
|  | ------------ | ------------- | ------------- | ------------- | ||||||
|  | **name** | **kotlin.String** |  |  | ||||||
|  | **photoUrls** | **kotlin.collections.List<kotlin.String>** |  |  | ||||||
|  | **id** | **kotlin.Long** |  |  [optional] | ||||||
|  | **category** | [**Category**](Category.md) |  |  [optional] | ||||||
|  | **tags** | [**kotlin.collections.List<Tag>**](Tag.md) |  |  [optional] | ||||||
|  | **status** | [**inline**](#Status) | pet status in the store |  [optional] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <a id="Status"></a> | ||||||
|  | ## Enum: status | ||||||
|  | Name | Value | ||||||
|  | ---- | ----- | ||||||
|  | status | available, pending, sold | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,417 @@ | |||||||
|  | # PetApi | ||||||
|  | 
 | ||||||
|  | All URIs are relative to *http://petstore.swagger.io/v2* | ||||||
|  | 
 | ||||||
|  | Method | HTTP request | Description | ||||||
|  | ------------- | ------------- | ------------- | ||||||
|  | [**addPet**](PetApi.md#addPet) | **POST** /pet | Add a new pet to the store | ||||||
|  | [**deletePet**](PetApi.md#deletePet) | **DELETE** /pet/{petId} | Deletes a pet | ||||||
|  | [**findPetsByStatus**](PetApi.md#findPetsByStatus) | **GET** /pet/findByStatus | Finds Pets by status | ||||||
|  | [**findPetsByTags**](PetApi.md#findPetsByTags) | **GET** /pet/findByTags | Finds Pets by tags | ||||||
|  | [**getPetById**](PetApi.md#getPetById) | **GET** /pet/{petId} | Find pet by ID | ||||||
|  | [**updatePet**](PetApi.md#updatePet) | **PUT** /pet | Update an existing pet | ||||||
|  | [**updatePetWithForm**](PetApi.md#updatePetWithForm) | **POST** /pet/{petId} | Updates a pet in the store with form data | ||||||
|  | [**uploadFile**](PetApi.md#uploadFile) | **POST** /pet/{petId}/uploadImage | uploads an image | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <a id="addPet"></a> | ||||||
|  | # **addPet** | ||||||
|  | > Pet addPet(pet) | ||||||
|  | 
 | ||||||
|  | Add a new pet to the store | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = PetApi() | ||||||
|  | val pet : Pet =  // Pet | Pet object that needs to be added to the store | ||||||
|  | try { | ||||||
|  |     val result : Pet = apiInstance.addPet(pet) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling PetApi#addPet") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling PetApi#addPet") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | [**Pet**](Pet.md) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure petstore_auth: | ||||||
|  |     ApiClient.accessToken = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: application/json, application/xml | ||||||
|  |  - **Accept**: application/xml, application/json | ||||||
|  | 
 | ||||||
|  | <a id="deletePet"></a> | ||||||
|  | # **deletePet** | ||||||
|  | > deletePet(petId, apiKey) | ||||||
|  | 
 | ||||||
|  | Deletes a pet | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = PetApi() | ||||||
|  | val petId : kotlin.Long = 789 // kotlin.Long | Pet id to delete | ||||||
|  | val apiKey : kotlin.String = apiKey_example // kotlin.String |  | ||||||
|  | try { | ||||||
|  |     apiInstance.deletePet(petId, apiKey) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling PetApi#deletePet") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling PetApi#deletePet") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **petId** | **kotlin.Long**| Pet id to delete | | ||||||
|  |  **apiKey** | **kotlin.String**|  | [optional] | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure petstore_auth: | ||||||
|  |     ApiClient.accessToken = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
|  | <a id="findPetsByStatus"></a> | ||||||
|  | # **findPetsByStatus** | ||||||
|  | > kotlin.collections.List<Pet> findPetsByStatus(status) | ||||||
|  | 
 | ||||||
|  | Finds Pets by status | ||||||
|  | 
 | ||||||
|  | Multiple status values can be provided with comma separated strings | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = PetApi() | ||||||
|  | val status : kotlin.collections.List<kotlin.String> =  // kotlin.collections.List<kotlin.String> | Status values that need to be considered for filter | ||||||
|  | try { | ||||||
|  |     val result : kotlin.collections.List<Pet> = apiInstance.findPetsByStatus(status) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling PetApi#findPetsByStatus") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling PetApi#findPetsByStatus") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **status** | [**kotlin.collections.List<kotlin.String>**](kotlin.String.md)| Status values that need to be considered for filter | [enum: available, pending, sold] | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | [**kotlin.collections.List<Pet>**](Pet.md) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure petstore_auth: | ||||||
|  |     ApiClient.accessToken = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: application/xml, application/json | ||||||
|  | 
 | ||||||
|  | <a id="findPetsByTags"></a> | ||||||
|  | # **findPetsByTags** | ||||||
|  | > kotlin.collections.List<Pet> findPetsByTags(tags) | ||||||
|  | 
 | ||||||
|  | Finds Pets by tags | ||||||
|  | 
 | ||||||
|  | Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = PetApi() | ||||||
|  | val tags : kotlin.collections.List<kotlin.String> =  // kotlin.collections.List<kotlin.String> | Tags to filter by | ||||||
|  | try { | ||||||
|  |     val result : kotlin.collections.List<Pet> = apiInstance.findPetsByTags(tags) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling PetApi#findPetsByTags") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling PetApi#findPetsByTags") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **tags** | [**kotlin.collections.List<kotlin.String>**](kotlin.String.md)| Tags to filter by | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | [**kotlin.collections.List<Pet>**](Pet.md) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure petstore_auth: | ||||||
|  |     ApiClient.accessToken = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: application/xml, application/json | ||||||
|  | 
 | ||||||
|  | <a id="getPetById"></a> | ||||||
|  | # **getPetById** | ||||||
|  | > Pet getPetById(petId) | ||||||
|  | 
 | ||||||
|  | Find pet by ID | ||||||
|  | 
 | ||||||
|  | Returns a single pet | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = PetApi() | ||||||
|  | val petId : kotlin.Long = 789 // kotlin.Long | ID of pet to return | ||||||
|  | try { | ||||||
|  |     val result : Pet = apiInstance.getPetById(petId) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling PetApi#getPetById") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling PetApi#getPetById") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **petId** | **kotlin.Long**| ID of pet to return | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | [**Pet**](Pet.md) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure api_key: | ||||||
|  |     ApiClient.apiKey["api_key"] = "" | ||||||
|  |     ApiClient.apiKeyPrefix["api_key"] = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: application/xml, application/json | ||||||
|  | 
 | ||||||
|  | <a id="updatePet"></a> | ||||||
|  | # **updatePet** | ||||||
|  | > Pet updatePet(pet) | ||||||
|  | 
 | ||||||
|  | Update an existing pet | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = PetApi() | ||||||
|  | val pet : Pet =  // Pet | Pet object that needs to be added to the store | ||||||
|  | try { | ||||||
|  |     val result : Pet = apiInstance.updatePet(pet) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling PetApi#updatePet") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling PetApi#updatePet") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | [**Pet**](Pet.md) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure petstore_auth: | ||||||
|  |     ApiClient.accessToken = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: application/json, application/xml | ||||||
|  |  - **Accept**: application/xml, application/json | ||||||
|  | 
 | ||||||
|  | <a id="updatePetWithForm"></a> | ||||||
|  | # **updatePetWithForm** | ||||||
|  | > updatePetWithForm(petId, name, status) | ||||||
|  | 
 | ||||||
|  | Updates a pet in the store with form data | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = PetApi() | ||||||
|  | val petId : kotlin.Long = 789 // kotlin.Long | ID of pet that needs to be updated | ||||||
|  | val name : kotlin.String = name_example // kotlin.String | Updated name of the pet | ||||||
|  | val status : kotlin.String = status_example // kotlin.String | Updated status of the pet | ||||||
|  | try { | ||||||
|  |     apiInstance.updatePetWithForm(petId, name, status) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling PetApi#updatePetWithForm") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling PetApi#updatePetWithForm") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **petId** | **kotlin.Long**| ID of pet that needs to be updated | | ||||||
|  |  **name** | **kotlin.String**| Updated name of the pet | [optional] | ||||||
|  |  **status** | **kotlin.String**| Updated status of the pet | [optional] | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure petstore_auth: | ||||||
|  |     ApiClient.accessToken = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: application/x-www-form-urlencoded | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
|  | <a id="uploadFile"></a> | ||||||
|  | # **uploadFile** | ||||||
|  | > ModelApiResponse uploadFile(petId, additionalMetadata, file) | ||||||
|  | 
 | ||||||
|  | uploads an image | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = PetApi() | ||||||
|  | val petId : kotlin.Long = 789 // kotlin.Long | ID of pet to update | ||||||
|  | val additionalMetadata : kotlin.String = additionalMetadata_example // kotlin.String | Additional data to pass to server | ||||||
|  | val file : java.io.File = BINARY_DATA_HERE // java.io.File | file to upload | ||||||
|  | try { | ||||||
|  |     val result : ModelApiResponse = apiInstance.uploadFile(petId, additionalMetadata, file) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling PetApi#uploadFile") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling PetApi#uploadFile") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **petId** | **kotlin.Long**| ID of pet to update | | ||||||
|  |  **additionalMetadata** | **kotlin.String**| Additional data to pass to server | [optional] | ||||||
|  |  **file** | **java.io.File**| file to upload | [optional] | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | [**ModelApiResponse**](ModelApiResponse.md) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure petstore_auth: | ||||||
|  |     ApiClient.accessToken = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: multipart/form-data | ||||||
|  |  - **Accept**: application/json | ||||||
|  | 
 | ||||||
| @ -0,0 +1,198 @@ | |||||||
|  | # StoreApi | ||||||
|  | 
 | ||||||
|  | All URIs are relative to *http://petstore.swagger.io/v2* | ||||||
|  | 
 | ||||||
|  | Method | HTTP request | Description | ||||||
|  | ------------- | ------------- | ------------- | ||||||
|  | [**deleteOrder**](StoreApi.md#deleteOrder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID | ||||||
|  | [**getInventory**](StoreApi.md#getInventory) | **GET** /store/inventory | Returns pet inventories by status | ||||||
|  | [**getOrderById**](StoreApi.md#getOrderById) | **GET** /store/order/{orderId} | Find purchase order by ID | ||||||
|  | [**placeOrder**](StoreApi.md#placeOrder) | **POST** /store/order | Place an order for a pet | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <a id="deleteOrder"></a> | ||||||
|  | # **deleteOrder** | ||||||
|  | > deleteOrder(orderId) | ||||||
|  | 
 | ||||||
|  | Delete purchase order by ID | ||||||
|  | 
 | ||||||
|  | For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = StoreApi() | ||||||
|  | val orderId : kotlin.String = orderId_example // kotlin.String | ID of the order that needs to be deleted | ||||||
|  | try { | ||||||
|  |     apiInstance.deleteOrder(orderId) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling StoreApi#deleteOrder") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling StoreApi#deleteOrder") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **orderId** | **kotlin.String**| ID of the order that needs to be deleted | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | No authorization required | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
|  | <a id="getInventory"></a> | ||||||
|  | # **getInventory** | ||||||
|  | > kotlin.collections.Map<kotlin.String, kotlin.Int> getInventory() | ||||||
|  | 
 | ||||||
|  | Returns pet inventories by status | ||||||
|  | 
 | ||||||
|  | Returns a map of status codes to quantities | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = StoreApi() | ||||||
|  | try { | ||||||
|  |     val result : kotlin.collections.Map<kotlin.String, kotlin.Int> = apiInstance.getInventory() | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling StoreApi#getInventory") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling StoreApi#getInventory") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | This endpoint does not need any parameter. | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | **kotlin.collections.Map<kotlin.String, kotlin.Int>** | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure api_key: | ||||||
|  |     ApiClient.apiKey["api_key"] = "" | ||||||
|  |     ApiClient.apiKeyPrefix["api_key"] = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: application/json | ||||||
|  | 
 | ||||||
|  | <a id="getOrderById"></a> | ||||||
|  | # **getOrderById** | ||||||
|  | > Order getOrderById(orderId) | ||||||
|  | 
 | ||||||
|  | Find purchase order by ID | ||||||
|  | 
 | ||||||
|  | For valid response try integer IDs with value <= 5 or > 10. Other values will generate exceptions | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = StoreApi() | ||||||
|  | val orderId : kotlin.Long = 789 // kotlin.Long | ID of pet that needs to be fetched | ||||||
|  | try { | ||||||
|  |     val result : Order = apiInstance.getOrderById(orderId) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling StoreApi#getOrderById") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling StoreApi#getOrderById") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **orderId** | **kotlin.Long**| ID of pet that needs to be fetched | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | [**Order**](Order.md) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | No authorization required | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: application/xml, application/json | ||||||
|  | 
 | ||||||
|  | <a id="placeOrder"></a> | ||||||
|  | # **placeOrder** | ||||||
|  | > Order placeOrder(order) | ||||||
|  | 
 | ||||||
|  | Place an order for a pet | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = StoreApi() | ||||||
|  | val order : Order =  // Order | order placed for purchasing the pet | ||||||
|  | try { | ||||||
|  |     val result : Order = apiInstance.placeOrder(order) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling StoreApi#placeOrder") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling StoreApi#placeOrder") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **order** | [**Order**](Order.md)| order placed for purchasing the pet | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | [**Order**](Order.md) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | No authorization required | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: application/json | ||||||
|  |  - **Accept**: application/xml, application/json | ||||||
|  | 
 | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | 
 | ||||||
|  | # Tag | ||||||
|  | 
 | ||||||
|  | ## Properties | ||||||
|  | Name | Type | Description | Notes | ||||||
|  | ------------ | ------------- | ------------- | ------------- | ||||||
|  | **id** | **kotlin.Long** |  |  [optional] | ||||||
|  | **name** | **kotlin.String** |  |  [optional] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,17 @@ | |||||||
|  | 
 | ||||||
|  | # User | ||||||
|  | 
 | ||||||
|  | ## Properties | ||||||
|  | Name | Type | Description | Notes | ||||||
|  | ------------ | ------------- | ------------- | ------------- | ||||||
|  | **id** | **kotlin.Long** |  |  [optional] | ||||||
|  | **username** | **kotlin.String** |  |  [optional] | ||||||
|  | **firstName** | **kotlin.String** |  |  [optional] | ||||||
|  | **lastName** | **kotlin.String** |  |  [optional] | ||||||
|  | **email** | **kotlin.String** |  |  [optional] | ||||||
|  | **password** | **kotlin.String** |  |  [optional] | ||||||
|  | **phone** | **kotlin.String** |  |  [optional] | ||||||
|  | **userStatus** | **kotlin.Int** | User Status |  [optional] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @ -0,0 +1,404 @@ | |||||||
|  | # UserApi | ||||||
|  | 
 | ||||||
|  | All URIs are relative to *http://petstore.swagger.io/v2* | ||||||
|  | 
 | ||||||
|  | Method | HTTP request | Description | ||||||
|  | ------------- | ------------- | ------------- | ||||||
|  | [**createUser**](UserApi.md#createUser) | **POST** /user | Create user | ||||||
|  | [**createUsersWithArrayInput**](UserApi.md#createUsersWithArrayInput) | **POST** /user/createWithArray | Creates list of users with given input array | ||||||
|  | [**createUsersWithListInput**](UserApi.md#createUsersWithListInput) | **POST** /user/createWithList | Creates list of users with given input array | ||||||
|  | [**deleteUser**](UserApi.md#deleteUser) | **DELETE** /user/{username} | Delete user | ||||||
|  | [**getUserByName**](UserApi.md#getUserByName) | **GET** /user/{username} | Get user by user name | ||||||
|  | [**loginUser**](UserApi.md#loginUser) | **GET** /user/login | Logs user into the system | ||||||
|  | [**logoutUser**](UserApi.md#logoutUser) | **GET** /user/logout | Logs out current logged in user session | ||||||
|  | [**updateUser**](UserApi.md#updateUser) | **PUT** /user/{username} | Updated user | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | <a id="createUser"></a> | ||||||
|  | # **createUser** | ||||||
|  | > createUser(user) | ||||||
|  | 
 | ||||||
|  | Create user | ||||||
|  | 
 | ||||||
|  | This can only be done by the logged in user. | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = UserApi() | ||||||
|  | val user : User =  // User | Created user object | ||||||
|  | try { | ||||||
|  |     apiInstance.createUser(user) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling UserApi#createUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling UserApi#createUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **user** | [**User**](User.md)| Created user object | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure api_key: | ||||||
|  |     ApiClient.apiKey["api_key"] = "" | ||||||
|  |     ApiClient.apiKeyPrefix["api_key"] = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: application/json | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
|  | <a id="createUsersWithArrayInput"></a> | ||||||
|  | # **createUsersWithArrayInput** | ||||||
|  | > createUsersWithArrayInput(user) | ||||||
|  | 
 | ||||||
|  | Creates list of users with given input array | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = UserApi() | ||||||
|  | val user : kotlin.collections.List<User> =  // kotlin.collections.List<User> | List of user object | ||||||
|  | try { | ||||||
|  |     apiInstance.createUsersWithArrayInput(user) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling UserApi#createUsersWithArrayInput") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling UserApi#createUsersWithArrayInput") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **user** | [**kotlin.collections.List<User>**](User.md)| List of user object | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure api_key: | ||||||
|  |     ApiClient.apiKey["api_key"] = "" | ||||||
|  |     ApiClient.apiKeyPrefix["api_key"] = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: application/json | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
|  | <a id="createUsersWithListInput"></a> | ||||||
|  | # **createUsersWithListInput** | ||||||
|  | > createUsersWithListInput(user) | ||||||
|  | 
 | ||||||
|  | Creates list of users with given input array | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = UserApi() | ||||||
|  | val user : kotlin.collections.List<User> =  // kotlin.collections.List<User> | List of user object | ||||||
|  | try { | ||||||
|  |     apiInstance.createUsersWithListInput(user) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling UserApi#createUsersWithListInput") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling UserApi#createUsersWithListInput") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **user** | [**kotlin.collections.List<User>**](User.md)| List of user object | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure api_key: | ||||||
|  |     ApiClient.apiKey["api_key"] = "" | ||||||
|  |     ApiClient.apiKeyPrefix["api_key"] = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: application/json | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
|  | <a id="deleteUser"></a> | ||||||
|  | # **deleteUser** | ||||||
|  | > deleteUser(username) | ||||||
|  | 
 | ||||||
|  | Delete user | ||||||
|  | 
 | ||||||
|  | This can only be done by the logged in user. | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = UserApi() | ||||||
|  | val username : kotlin.String = username_example // kotlin.String | The name that needs to be deleted | ||||||
|  | try { | ||||||
|  |     apiInstance.deleteUser(username) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling UserApi#deleteUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling UserApi#deleteUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **username** | **kotlin.String**| The name that needs to be deleted | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure api_key: | ||||||
|  |     ApiClient.apiKey["api_key"] = "" | ||||||
|  |     ApiClient.apiKeyPrefix["api_key"] = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
|  | <a id="getUserByName"></a> | ||||||
|  | # **getUserByName** | ||||||
|  | > User getUserByName(username) | ||||||
|  | 
 | ||||||
|  | Get user by user name | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = UserApi() | ||||||
|  | val username : kotlin.String = username_example // kotlin.String | The name that needs to be fetched. Use user1 for testing. | ||||||
|  | try { | ||||||
|  |     val result : User = apiInstance.getUserByName(username) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling UserApi#getUserByName") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling UserApi#getUserByName") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **username** | **kotlin.String**| The name that needs to be fetched. Use user1 for testing. | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | [**User**](User.md) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | No authorization required | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: application/xml, application/json | ||||||
|  | 
 | ||||||
|  | <a id="loginUser"></a> | ||||||
|  | # **loginUser** | ||||||
|  | > kotlin.String loginUser(username, password) | ||||||
|  | 
 | ||||||
|  | Logs user into the system | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = UserApi() | ||||||
|  | val username : kotlin.String = username_example // kotlin.String | The user name for login | ||||||
|  | val password : kotlin.String = password_example // kotlin.String | The password for login in clear text | ||||||
|  | try { | ||||||
|  |     val result : kotlin.String = apiInstance.loginUser(username, password) | ||||||
|  |     println(result) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling UserApi#loginUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling UserApi#loginUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **username** | **kotlin.String**| The user name for login | | ||||||
|  |  **password** | **kotlin.String**| The password for login in clear text | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | **kotlin.String** | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | No authorization required | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: application/xml, application/json | ||||||
|  | 
 | ||||||
|  | <a id="logoutUser"></a> | ||||||
|  | # **logoutUser** | ||||||
|  | > logoutUser() | ||||||
|  | 
 | ||||||
|  | Logs out current logged in user session | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = UserApi() | ||||||
|  | try { | ||||||
|  |     apiInstance.logoutUser() | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling UserApi#logoutUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling UserApi#logoutUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | This endpoint does not need any parameter. | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure api_key: | ||||||
|  |     ApiClient.apiKey["api_key"] = "" | ||||||
|  |     ApiClient.apiKeyPrefix["api_key"] = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: Not defined | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
|  | <a id="updateUser"></a> | ||||||
|  | # **updateUser** | ||||||
|  | > updateUser(username, user) | ||||||
|  | 
 | ||||||
|  | Updated user | ||||||
|  | 
 | ||||||
|  | This can only be done by the logged in user. | ||||||
|  | 
 | ||||||
|  | ### Example | ||||||
|  | ```kotlin | ||||||
|  | // Import classes: | ||||||
|  | //import org.openapitools.client.infrastructure.* | ||||||
|  | //import org.openapitools.client.models.* | ||||||
|  | 
 | ||||||
|  | val apiInstance = UserApi() | ||||||
|  | val username : kotlin.String = username_example // kotlin.String | name that need to be deleted | ||||||
|  | val user : User =  // User | Updated user object | ||||||
|  | try { | ||||||
|  |     apiInstance.updateUser(username, user) | ||||||
|  | } catch (e: ClientException) { | ||||||
|  |     println("4xx response calling UserApi#updateUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } catch (e: ServerException) { | ||||||
|  |     println("5xx response calling UserApi#updateUser") | ||||||
|  |     e.printStackTrace() | ||||||
|  | } | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Parameters | ||||||
|  | 
 | ||||||
|  | Name | Type | Description  | Notes | ||||||
|  | ------------- | ------------- | ------------- | ------------- | ||||||
|  |  **username** | **kotlin.String**| name that need to be deleted | | ||||||
|  |  **user** | [**User**](User.md)| Updated user object | | ||||||
|  | 
 | ||||||
|  | ### Return type | ||||||
|  | 
 | ||||||
|  | null (empty response body) | ||||||
|  | 
 | ||||||
|  | ### Authorization | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Configure api_key: | ||||||
|  |     ApiClient.apiKey["api_key"] = "" | ||||||
|  |     ApiClient.apiKeyPrefix["api_key"] = "" | ||||||
|  | 
 | ||||||
|  | ### HTTP request headers | ||||||
|  | 
 | ||||||
|  |  - **Content-Type**: application/json | ||||||
|  |  - **Accept**: Not defined | ||||||
|  | 
 | ||||||
							
								
								
									
										
											BIN
										
									
								
								samples/client/petstore/kotlin-jvm-spring-3-restclient/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								samples/client/petstore/kotlin-jvm-spring-3-restclient/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | distributionBase=GRADLE_USER_HOME | ||||||
|  | distributionPath=wrapper/dists | ||||||
|  | distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-all.zip | ||||||
|  | networkTimeout=10000 | ||||||
|  | zipStoreBase=GRADLE_USER_HOME | ||||||
|  | zipStorePath=wrapper/dists | ||||||
							
								
								
									
										245
									
								
								samples/client/petstore/kotlin-jvm-spring-3-restclient/gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										245
									
								
								samples/client/petstore/kotlin-jvm-spring-3-restclient/gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,245 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | # | ||||||
|  | # Copyright © 2015-2021 the original authors. | ||||||
|  | # | ||||||
|  | # Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  | # you may not use this file except in compliance with the License. | ||||||
|  | # You may obtain a copy of the License at | ||||||
|  | # | ||||||
|  | #      https://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | # | ||||||
|  | # Unless required by applicable law or agreed to in writing, software | ||||||
|  | # distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  | # See the License for the specific language governing permissions and | ||||||
|  | # limitations under the License. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | ############################################################################## | ||||||
|  | # | ||||||
|  | #   Gradle start up script for POSIX generated by Gradle. | ||||||
|  | # | ||||||
|  | #   Important for running: | ||||||
|  | # | ||||||
|  | #   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is | ||||||
|  | #       noncompliant, but you have some other compliant shell such as ksh or | ||||||
|  | #       bash, then to run this script, type that shell name before the whole | ||||||
|  | #       command line, like: | ||||||
|  | # | ||||||
|  | #           ksh Gradle | ||||||
|  | # | ||||||
|  | #       Busybox and similar reduced shells will NOT work, because this script | ||||||
|  | #       requires all of these POSIX shell features: | ||||||
|  | #         * functions; | ||||||
|  | #         * expansions «$var», «${var}», «${var:-default}», «${var+SET}», | ||||||
|  | #           «${var#prefix}», «${var%suffix}», and «$( cmd )»; | ||||||
|  | #         * compound commands having a testable exit status, especially «case»; | ||||||
|  | #         * various built-in commands including «command», «set», and «ulimit». | ||||||
|  | # | ||||||
|  | #   Important for patching: | ||||||
|  | # | ||||||
|  | #   (2) This script targets any POSIX shell, so it avoids extensions provided | ||||||
|  | #       by Bash, Ksh, etc; in particular arrays are avoided. | ||||||
|  | # | ||||||
|  | #       The "traditional" practice of packing multiple parameters into a | ||||||
|  | #       space-separated string is a well documented source of bugs and security | ||||||
|  | #       problems, so this is (mostly) avoided, by progressively accumulating | ||||||
|  | #       options in "$@", and eventually passing that to Java. | ||||||
|  | # | ||||||
|  | #       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, | ||||||
|  | #       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; | ||||||
|  | #       see the in-line comments for details. | ||||||
|  | # | ||||||
|  | #       There are tweaks for specific operating systems such as AIX, CygWin, | ||||||
|  | #       Darwin, MinGW, and NonStop. | ||||||
|  | # | ||||||
|  | #   (3) This script is generated from the Groovy template | ||||||
|  | #       https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt | ||||||
|  | #       within the Gradle project. | ||||||
|  | # | ||||||
|  | #       You can find Gradle at https://github.com/gradle/gradle/. | ||||||
|  | # | ||||||
|  | ############################################################################## | ||||||
|  | 
 | ||||||
|  | # Attempt to set APP_HOME | ||||||
|  | 
 | ||||||
|  | # Resolve links: $0 may be a link | ||||||
|  | app_path=$0 | ||||||
|  | 
 | ||||||
|  | # Need this for daisy-chained symlinks. | ||||||
|  | while | ||||||
|  |     APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path | ||||||
|  |     [ -h "$app_path" ] | ||||||
|  | do | ||||||
|  |     ls=$( ls -ld "$app_path" ) | ||||||
|  |     link=${ls#*' -> '} | ||||||
|  |     case $link in             #( | ||||||
|  |       /*)   app_path=$link ;; #( | ||||||
|  |       *)    app_path=$APP_HOME$link ;; | ||||||
|  |     esac | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | # This is normally unused | ||||||
|  | # shellcheck disable=SC2034 | ||||||
|  | APP_BASE_NAME=${0##*/} | ||||||
|  | APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit | ||||||
|  | 
 | ||||||
|  | # Use the maximum available, or set MAX_FD != -1 to use that value. | ||||||
|  | MAX_FD=maximum | ||||||
|  | 
 | ||||||
|  | warn () { | ||||||
|  |     echo "$*" | ||||||
|  | } >&2 | ||||||
|  | 
 | ||||||
|  | die () { | ||||||
|  |     echo | ||||||
|  |     echo "$*" | ||||||
|  |     echo | ||||||
|  |     exit 1 | ||||||
|  | } >&2 | ||||||
|  | 
 | ||||||
|  | # OS specific support (must be 'true' or 'false'). | ||||||
|  | cygwin=false | ||||||
|  | msys=false | ||||||
|  | darwin=false | ||||||
|  | nonstop=false | ||||||
|  | case "$( uname )" in                #( | ||||||
|  |   CYGWIN* )         cygwin=true  ;; #( | ||||||
|  |   Darwin* )         darwin=true  ;; #( | ||||||
|  |   MSYS* | MINGW* )  msys=true    ;; #( | ||||||
|  |   NONSTOP* )        nonstop=true ;; | ||||||
|  | esac | ||||||
|  | 
 | ||||||
|  | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Determine the Java command to use to start the JVM. | ||||||
|  | if [ -n "$JAVA_HOME" ] ; then | ||||||
|  |     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then | ||||||
|  |         # IBM's JDK on AIX uses strange locations for the executables | ||||||
|  |         JAVACMD=$JAVA_HOME/jre/sh/java | ||||||
|  |     else | ||||||
|  |         JAVACMD=$JAVA_HOME/bin/java | ||||||
|  |     fi | ||||||
|  |     if [ ! -x "$JAVACMD" ] ; then | ||||||
|  |         die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME | ||||||
|  | 
 | ||||||
|  | Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | location of your Java installation." | ||||||
|  |     fi | ||||||
|  | else | ||||||
|  |     JAVACMD=java | ||||||
|  |     which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||||
|  | 
 | ||||||
|  | Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | location of your Java installation." | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Increase the maximum file descriptors if we can. | ||||||
|  | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then | ||||||
|  |     case $MAX_FD in #( | ||||||
|  |       max*) | ||||||
|  |         # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. | ||||||
|  |         # shellcheck disable=SC3045 | ||||||
|  |         MAX_FD=$( ulimit -H -n ) || | ||||||
|  |             warn "Could not query maximum file descriptor limit" | ||||||
|  |     esac | ||||||
|  |     case $MAX_FD in  #( | ||||||
|  |       '' | soft) :;; #( | ||||||
|  |       *) | ||||||
|  |         # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. | ||||||
|  |         # shellcheck disable=SC3045 | ||||||
|  |         ulimit -n "$MAX_FD" || | ||||||
|  |             warn "Could not set maximum file descriptor limit to $MAX_FD" | ||||||
|  |     esac | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Collect all arguments for the java command, stacking in reverse order: | ||||||
|  | #   * args from the command line | ||||||
|  | #   * the main class name | ||||||
|  | #   * -classpath | ||||||
|  | #   * -D...appname settings | ||||||
|  | #   * --module-path (only if needed) | ||||||
|  | #   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. | ||||||
|  | 
 | ||||||
|  | # For Cygwin or MSYS, switch paths to Windows format before running java | ||||||
|  | if "$cygwin" || "$msys" ; then | ||||||
|  |     APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) | ||||||
|  |     CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) | ||||||
|  | 
 | ||||||
|  |     JAVACMD=$( cygpath --unix "$JAVACMD" ) | ||||||
|  | 
 | ||||||
|  |     # Now convert the arguments - kludge to limit ourselves to /bin/sh | ||||||
|  |     for arg do | ||||||
|  |         if | ||||||
|  |             case $arg in                                #( | ||||||
|  |               -*)   false ;;                            # don't mess with options #( | ||||||
|  |               /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath | ||||||
|  |                     [ -e "$t" ] ;;                      #( | ||||||
|  |               *)    false ;; | ||||||
|  |             esac | ||||||
|  |         then | ||||||
|  |             arg=$( cygpath --path --ignore --mixed "$arg" ) | ||||||
|  |         fi | ||||||
|  |         # Roll the args list around exactly as many times as the number of | ||||||
|  |         # args, so each arg winds up back in the position where it started, but | ||||||
|  |         # possibly modified. | ||||||
|  |         # | ||||||
|  |         # NB: a `for` loop captures its iteration list before it begins, so | ||||||
|  |         # changing the positional parameters here affects neither the number of | ||||||
|  |         # iterations, nor the values presented in `arg`. | ||||||
|  |         shift                   # remove old arg | ||||||
|  |         set -- "$@" "$arg"      # push replacement arg | ||||||
|  |     done | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||||
|  | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' | ||||||
|  | 
 | ||||||
|  | # Collect all arguments for the java command; | ||||||
|  | #   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of | ||||||
|  | #     shell script including quotes and variable substitutions, so put them in | ||||||
|  | #     double quotes to make sure that they get re-expanded; and | ||||||
|  | #   * put everything else in single quotes, so that it's not re-expanded. | ||||||
|  | 
 | ||||||
|  | set -- \ | ||||||
|  |         "-Dorg.gradle.appname=$APP_BASE_NAME" \ | ||||||
|  |         -classpath "$CLASSPATH" \ | ||||||
|  |         org.gradle.wrapper.GradleWrapperMain \ | ||||||
|  |         "$@" | ||||||
|  | 
 | ||||||
|  | # Stop when "xargs" is not available. | ||||||
|  | if ! command -v xargs >/dev/null 2>&1 | ||||||
|  | then | ||||||
|  |     die "xargs is not available" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Use "xargs" to parse quoted args. | ||||||
|  | # | ||||||
|  | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. | ||||||
|  | # | ||||||
|  | # In Bash we could simply go: | ||||||
|  | # | ||||||
|  | #   readarray ARGS < <( xargs -n1 <<<"$var" ) && | ||||||
|  | #   set -- "${ARGS[@]}" "$@" | ||||||
|  | # | ||||||
|  | # but POSIX shell has neither arrays nor command substitution, so instead we | ||||||
|  | # post-process each arg (as a line of input to sed) to backslash-escape any | ||||||
|  | # character that might be a shell metacharacter, then use eval to reverse | ||||||
|  | # that process (while maintaining the separation between arguments), and wrap | ||||||
|  | # the whole thing up as a single "set" statement. | ||||||
|  | # | ||||||
|  | # This will of course break if any of these variables contains a newline or | ||||||
|  | # an unmatched quote. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | eval "set -- $( | ||||||
|  |         printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | | ||||||
|  |         xargs -n1 | | ||||||
|  |         sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | | ||||||
|  |         tr '\n' ' ' | ||||||
|  |     )" '"$@"' | ||||||
|  | 
 | ||||||
|  | exec "$JAVACMD" "$@" | ||||||
							
								
								
									
										92
									
								
								samples/client/petstore/kotlin-jvm-spring-3-restclient/gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								samples/client/petstore/kotlin-jvm-spring-3-restclient/gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,92 @@ | |||||||
|  | @rem | ||||||
|  | @rem Copyright 2015 the original author or authors. | ||||||
|  | @rem | ||||||
|  | @rem Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  | @rem you may not use this file except in compliance with the License. | ||||||
|  | @rem You may obtain a copy of the License at | ||||||
|  | @rem | ||||||
|  | @rem      https://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | @rem | ||||||
|  | @rem Unless required by applicable law or agreed to in writing, software | ||||||
|  | @rem distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  | @rem See the License for the specific language governing permissions and | ||||||
|  | @rem limitations under the License. | ||||||
|  | @rem | ||||||
|  | 
 | ||||||
|  | @if "%DEBUG%"=="" @echo off | ||||||
|  | @rem ########################################################################## | ||||||
|  | @rem | ||||||
|  | @rem  Gradle startup script for Windows | ||||||
|  | @rem | ||||||
|  | @rem ########################################################################## | ||||||
|  | 
 | ||||||
|  | @rem Set local scope for the variables with windows NT shell | ||||||
|  | if "%OS%"=="Windows_NT" setlocal | ||||||
|  | 
 | ||||||
|  | set DIRNAME=%~dp0 | ||||||
|  | if "%DIRNAME%"=="" set DIRNAME=. | ||||||
|  | @rem This is normally unused | ||||||
|  | set APP_BASE_NAME=%~n0 | ||||||
|  | set APP_HOME=%DIRNAME% | ||||||
|  | 
 | ||||||
|  | @rem Resolve any "." and ".." in APP_HOME to make it shorter. | ||||||
|  | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi | ||||||
|  | 
 | ||||||
|  | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||||
|  | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" | ||||||
|  | 
 | ||||||
|  | @rem Find java.exe | ||||||
|  | if defined JAVA_HOME goto findJavaFromJavaHome | ||||||
|  | 
 | ||||||
|  | set JAVA_EXE=java.exe | ||||||
|  | %JAVA_EXE% -version >NUL 2>&1 | ||||||
|  | if %ERRORLEVEL% equ 0 goto execute | ||||||
|  | 
 | ||||||
|  | echo. | ||||||
|  | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. | ||||||
|  | echo. | ||||||
|  | echo Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | echo location of your Java installation. | ||||||
|  | 
 | ||||||
|  | goto fail | ||||||
|  | 
 | ||||||
|  | :findJavaFromJavaHome | ||||||
|  | set JAVA_HOME=%JAVA_HOME:"=% | ||||||
|  | set JAVA_EXE=%JAVA_HOME%/bin/java.exe | ||||||
|  | 
 | ||||||
|  | if exist "%JAVA_EXE%" goto execute | ||||||
|  | 
 | ||||||
|  | echo. | ||||||
|  | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% | ||||||
|  | echo. | ||||||
|  | echo Please set the JAVA_HOME variable in your environment to match the | ||||||
|  | echo location of your Java installation. | ||||||
|  | 
 | ||||||
|  | goto fail | ||||||
|  | 
 | ||||||
|  | :execute | ||||||
|  | @rem Setup the command line | ||||||
|  | 
 | ||||||
|  | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @rem Execute Gradle | ||||||
|  | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* | ||||||
|  | 
 | ||||||
|  | :end | ||||||
|  | @rem End local scope for the variables with windows NT shell | ||||||
|  | if %ERRORLEVEL% equ 0 goto mainEnd | ||||||
|  | 
 | ||||||
|  | :fail | ||||||
|  | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of | ||||||
|  | rem the _cmd.exe /c_ return code! | ||||||
|  | set EXIT_CODE=%ERRORLEVEL% | ||||||
|  | if %EXIT_CODE% equ 0 set EXIT_CODE=1 | ||||||
|  | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% | ||||||
|  | exit /b %EXIT_CODE% | ||||||
|  | 
 | ||||||
|  | :mainEnd | ||||||
|  | if "%OS%"=="Windows_NT" endlocal | ||||||
|  | 
 | ||||||
|  | :omega | ||||||
| @ -0,0 +1,2 @@ | |||||||
|  | 
 | ||||||
|  | rootProject.name = 'kotlin-petstore-spring-restclient' | ||||||
| @ -0,0 +1,312 @@ | |||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * Please note: | ||||||
|  |  * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * Do not edit this file manually. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @file:Suppress( | ||||||
|  |     "ArrayInDataClass", | ||||||
|  |     "EnumEntryName", | ||||||
|  |     "RemoveRedundantQualifierName", | ||||||
|  |     "UnusedImport" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.apis | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | 
 | ||||||
|  | import org.springframework.web.client.RestClient | ||||||
|  | import org.springframework.web.client.RestClientResponseException | ||||||
|  | 
 | ||||||
|  | import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter | ||||||
|  | import org.springframework.http.ResponseEntity | ||||||
|  | import org.springframework.http.MediaType | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.models.ModelApiResponse | ||||||
|  | import org.openapitools.client.models.Pet | ||||||
|  | import org.openapitools.client.infrastructure.* | ||||||
|  | 
 | ||||||
|  | class PetApi(client: RestClient) : ApiClient(client) { | ||||||
|  | 
 | ||||||
|  |     constructor(baseUrl: String) : this(RestClient.builder() | ||||||
|  |         .baseUrl(baseUrl) | ||||||
|  |         .messageConverters { it.add(MappingJackson2HttpMessageConverter()) } | ||||||
|  |         .build() | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun addPet(pet: Pet): Pet { | ||||||
|  |         return addPetWithHttpInfo(pet = pet) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun addPetWithHttpInfo(pet: Pet): ResponseEntity<Pet> { | ||||||
|  |         val localVariableConfig = addPetRequestConfig(pet = pet) | ||||||
|  |         return request<Pet, Pet>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun addPetRequestConfig(pet: Pet) : RequestConfig<Pet> { | ||||||
|  |         val localVariableBody = pet | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Content-Type"] = "application/json" | ||||||
|  |         localVariableHeaders["Content-Type"] = "application/xml" | ||||||
|  |         localVariableHeaders["Accept"] = "application/xml, application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.POST, | ||||||
|  |             path = "/pet", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun deletePet(petId: kotlin.Long, apiKey: kotlin.String?): Unit { | ||||||
|  |         return deletePetWithHttpInfo(petId = petId, apiKey = apiKey) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun deletePetWithHttpInfo(petId: kotlin.Long, apiKey: kotlin.String?): ResponseEntity<Unit> { | ||||||
|  |         val localVariableConfig = deletePetRequestConfig(petId = petId, apiKey = apiKey) | ||||||
|  |         return request<Unit, Unit>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun deletePetRequestConfig(petId: kotlin.Long, apiKey: kotlin.String?) : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         apiKey?.apply { localVariableHeaders["api_key"] = this.toString() } | ||||||
|  |          | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.DELETE, | ||||||
|  |             path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * enum for parameter status | ||||||
|  |      */ | ||||||
|  |      enum class StatusFindPetsByStatus(val value: kotlin.String) { | ||||||
|  |          @JsonProperty(value = "available") available("available"), | ||||||
|  |          @JsonProperty(value = "pending") pending("pending"), | ||||||
|  |          @JsonProperty(value = "sold") sold("sold"), | ||||||
|  |      } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun findPetsByStatus(status: kotlin.collections.List<StatusFindPetsByStatus>): kotlin.collections.List<Pet> { | ||||||
|  |         return findPetsByStatusWithHttpInfo(status = status) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun findPetsByStatusWithHttpInfo(status: kotlin.collections.List<StatusFindPetsByStatus>): ResponseEntity<kotlin.collections.List<Pet>> { | ||||||
|  |         val localVariableConfig = findPetsByStatusRequestConfig(status = status) | ||||||
|  |         return request<Unit, kotlin.collections.List<Pet>>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun findPetsByStatusRequestConfig(status: kotlin.collections.List<StatusFindPetsByStatus>) : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |             .apply { | ||||||
|  |                 put("status", toMultiValue(status.toList(), "csv")) | ||||||
|  |             } | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Accept"] = "application/xml, application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.GET, | ||||||
|  |             path = "/pet/findByStatus", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     @Deprecated(message = "This operation is deprecated.") | ||||||
|  |     fun findPetsByTags(tags: kotlin.collections.List<kotlin.String>): kotlin.collections.List<Pet> { | ||||||
|  |         return findPetsByTagsWithHttpInfo(tags = tags) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     @Deprecated(message = "This operation is deprecated.") | ||||||
|  |     fun findPetsByTagsWithHttpInfo(tags: kotlin.collections.List<kotlin.String>): ResponseEntity<kotlin.collections.List<Pet>> { | ||||||
|  |         val localVariableConfig = findPetsByTagsRequestConfig(tags = tags) | ||||||
|  |         return request<Unit, kotlin.collections.List<Pet>>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Deprecated(message = "This operation is deprecated.") | ||||||
|  |     fun findPetsByTagsRequestConfig(tags: kotlin.collections.List<kotlin.String>) : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |             .apply { | ||||||
|  |                 put("tags", toMultiValue(tags.toList(), "csv")) | ||||||
|  |             } | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Accept"] = "application/xml, application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.GET, | ||||||
|  |             path = "/pet/findByTags", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun getPetById(petId: kotlin.Long): Pet { | ||||||
|  |         return getPetByIdWithHttpInfo(petId = petId) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun getPetByIdWithHttpInfo(petId: kotlin.Long): ResponseEntity<Pet> { | ||||||
|  |         val localVariableConfig = getPetByIdRequestConfig(petId = petId) | ||||||
|  |         return request<Unit, Pet>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun getPetByIdRequestConfig(petId: kotlin.Long) : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Accept"] = "application/xml, application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.GET, | ||||||
|  |             path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun updatePet(pet: Pet): Pet { | ||||||
|  |         return updatePetWithHttpInfo(pet = pet) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun updatePetWithHttpInfo(pet: Pet): ResponseEntity<Pet> { | ||||||
|  |         val localVariableConfig = updatePetRequestConfig(pet = pet) | ||||||
|  |         return request<Pet, Pet>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun updatePetRequestConfig(pet: Pet) : RequestConfig<Pet> { | ||||||
|  |         val localVariableBody = pet | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Content-Type"] = "application/json" | ||||||
|  |         localVariableHeaders["Content-Type"] = "application/xml" | ||||||
|  |         localVariableHeaders["Accept"] = "application/xml, application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.PUT, | ||||||
|  |             path = "/pet", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun updatePetWithForm(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?): Unit { | ||||||
|  |         return updatePetWithFormWithHttpInfo(petId = petId, name = name, status = status) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun updatePetWithFormWithHttpInfo(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?): ResponseEntity<Unit> { | ||||||
|  |         val localVariableConfig = updatePetWithFormRequestConfig(petId = petId, name = name, status = status) | ||||||
|  |         return request<Map<String, PartConfig<*>>, Unit>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun updatePetWithFormRequestConfig(petId: kotlin.Long, name: kotlin.String?, status: kotlin.String?) : RequestConfig<Map<String, PartConfig<*>>> { | ||||||
|  |         val localVariableBody = mapOf( | ||||||
|  |             "name" to PartConfig(body = name, headers = mutableMapOf()), | ||||||
|  |             "status" to PartConfig(body = status, headers = mutableMapOf()),) | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "application/x-www-form-urlencoded") | ||||||
|  |          | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.POST, | ||||||
|  |             path = "/pet/{petId}".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun uploadFile(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?): ModelApiResponse { | ||||||
|  |         return uploadFileWithHttpInfo(petId = petId, additionalMetadata = additionalMetadata, file = file) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun uploadFileWithHttpInfo(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?): ResponseEntity<ModelApiResponse> { | ||||||
|  |         val localVariableConfig = uploadFileRequestConfig(petId = petId, additionalMetadata = additionalMetadata, file = file) | ||||||
|  |         return request<Map<String, PartConfig<*>>, ModelApiResponse>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun uploadFileRequestConfig(petId: kotlin.Long, additionalMetadata: kotlin.String?, file: java.io.File?) : RequestConfig<Map<String, PartConfig<*>>> { | ||||||
|  |         val localVariableBody = mapOf( | ||||||
|  |             "additionalMetadata" to PartConfig(body = additionalMetadata, headers = mutableMapOf()), | ||||||
|  |             "file" to PartConfig(body = file, headers = mutableMapOf()),) | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf("Content-Type" to "multipart/form-data") | ||||||
|  |         localVariableHeaders["Accept"] = "application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.POST, | ||||||
|  |             path = "/pet/{petId}/uploadImage".replace("{"+"petId"+"}", encodeURIComponent(petId.toString())), | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,162 @@ | |||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * Please note: | ||||||
|  |  * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * Do not edit this file manually. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @file:Suppress( | ||||||
|  |     "ArrayInDataClass", | ||||||
|  |     "EnumEntryName", | ||||||
|  |     "RemoveRedundantQualifierName", | ||||||
|  |     "UnusedImport" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.apis | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | 
 | ||||||
|  | import org.springframework.web.client.RestClient | ||||||
|  | import org.springframework.web.client.RestClientResponseException | ||||||
|  | 
 | ||||||
|  | import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter | ||||||
|  | import org.springframework.http.ResponseEntity | ||||||
|  | import org.springframework.http.MediaType | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.models.Order | ||||||
|  | import org.openapitools.client.infrastructure.* | ||||||
|  | 
 | ||||||
|  | class StoreApi(client: RestClient) : ApiClient(client) { | ||||||
|  | 
 | ||||||
|  |     constructor(baseUrl: String) : this(RestClient.builder() | ||||||
|  |         .baseUrl(baseUrl) | ||||||
|  |         .messageConverters { it.add(MappingJackson2HttpMessageConverter()) } | ||||||
|  |         .build() | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun deleteOrder(orderId: kotlin.String): Unit { | ||||||
|  |         return deleteOrderWithHttpInfo(orderId = orderId) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun deleteOrderWithHttpInfo(orderId: kotlin.String): ResponseEntity<Unit> { | ||||||
|  |         val localVariableConfig = deleteOrderRequestConfig(orderId = orderId) | ||||||
|  |         return request<Unit, Unit>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun deleteOrderRequestConfig(orderId: kotlin.String) : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |          | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.DELETE, | ||||||
|  |             path = "/store/order/{orderId}".replace("{"+"orderId"+"}", encodeURIComponent(orderId.toString())), | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = false, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun getInventory(): kotlin.collections.Map<kotlin.String, kotlin.Int> { | ||||||
|  |         return getInventoryWithHttpInfo() | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun getInventoryWithHttpInfo(): ResponseEntity<kotlin.collections.Map<kotlin.String, kotlin.Int>> { | ||||||
|  |         val localVariableConfig = getInventoryRequestConfig() | ||||||
|  |         return request<Unit, kotlin.collections.Map<kotlin.String, kotlin.Int>>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun getInventoryRequestConfig() : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Accept"] = "application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.GET, | ||||||
|  |             path = "/store/inventory", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun getOrderById(orderId: kotlin.Long): Order { | ||||||
|  |         return getOrderByIdWithHttpInfo(orderId = orderId) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun getOrderByIdWithHttpInfo(orderId: kotlin.Long): ResponseEntity<Order> { | ||||||
|  |         val localVariableConfig = getOrderByIdRequestConfig(orderId = orderId) | ||||||
|  |         return request<Unit, Order>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun getOrderByIdRequestConfig(orderId: kotlin.Long) : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Accept"] = "application/xml, application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.GET, | ||||||
|  |             path = "/store/order/{orderId}".replace("{"+"orderId"+"}", encodeURIComponent(orderId.toString())), | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = false, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun placeOrder(order: Order): Order { | ||||||
|  |         return placeOrderWithHttpInfo(order = order) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun placeOrderWithHttpInfo(order: Order): ResponseEntity<Order> { | ||||||
|  |         val localVariableConfig = placeOrderRequestConfig(order = order) | ||||||
|  |         return request<Order, Order>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun placeOrderRequestConfig(order: Order) : RequestConfig<Order> { | ||||||
|  |         val localVariableBody = order | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Content-Type"] = "application/json" | ||||||
|  |         localVariableHeaders["Accept"] = "application/xml, application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.POST, | ||||||
|  |             path = "/store/order", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = false, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,288 @@ | |||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * Please note: | ||||||
|  |  * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * Do not edit this file manually. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @file:Suppress( | ||||||
|  |     "ArrayInDataClass", | ||||||
|  |     "EnumEntryName", | ||||||
|  |     "RemoveRedundantQualifierName", | ||||||
|  |     "UnusedImport" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.apis | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | 
 | ||||||
|  | import org.springframework.web.client.RestClient | ||||||
|  | import org.springframework.web.client.RestClientResponseException | ||||||
|  | 
 | ||||||
|  | import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter | ||||||
|  | import org.springframework.http.ResponseEntity | ||||||
|  | import org.springframework.http.MediaType | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.models.User | ||||||
|  | import org.openapitools.client.infrastructure.* | ||||||
|  | 
 | ||||||
|  | class UserApi(client: RestClient) : ApiClient(client) { | ||||||
|  | 
 | ||||||
|  |     constructor(baseUrl: String) : this(RestClient.builder() | ||||||
|  |         .baseUrl(baseUrl) | ||||||
|  |         .messageConverters { it.add(MappingJackson2HttpMessageConverter()) } | ||||||
|  |         .build() | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun createUser(user: User): Unit { | ||||||
|  |         return createUserWithHttpInfo(user = user) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun createUserWithHttpInfo(user: User): ResponseEntity<Unit> { | ||||||
|  |         val localVariableConfig = createUserRequestConfig(user = user) | ||||||
|  |         return request<User, Unit>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun createUserRequestConfig(user: User) : RequestConfig<User> { | ||||||
|  |         val localVariableBody = user | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Content-Type"] = "application/json" | ||||||
|  |          | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.POST, | ||||||
|  |             path = "/user", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun createUsersWithArrayInput(user: kotlin.collections.List<User>): Unit { | ||||||
|  |         return createUsersWithArrayInputWithHttpInfo(user = user) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun createUsersWithArrayInputWithHttpInfo(user: kotlin.collections.List<User>): ResponseEntity<Unit> { | ||||||
|  |         val localVariableConfig = createUsersWithArrayInputRequestConfig(user = user) | ||||||
|  |         return request<kotlin.collections.List<User>, Unit>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun createUsersWithArrayInputRequestConfig(user: kotlin.collections.List<User>) : RequestConfig<kotlin.collections.List<User>> { | ||||||
|  |         val localVariableBody = user | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Content-Type"] = "application/json" | ||||||
|  |          | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.POST, | ||||||
|  |             path = "/user/createWithArray", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun createUsersWithListInput(user: kotlin.collections.List<User>): Unit { | ||||||
|  |         return createUsersWithListInputWithHttpInfo(user = user) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun createUsersWithListInputWithHttpInfo(user: kotlin.collections.List<User>): ResponseEntity<Unit> { | ||||||
|  |         val localVariableConfig = createUsersWithListInputRequestConfig(user = user) | ||||||
|  |         return request<kotlin.collections.List<User>, Unit>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun createUsersWithListInputRequestConfig(user: kotlin.collections.List<User>) : RequestConfig<kotlin.collections.List<User>> { | ||||||
|  |         val localVariableBody = user | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Content-Type"] = "application/json" | ||||||
|  |          | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.POST, | ||||||
|  |             path = "/user/createWithList", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun deleteUser(username: kotlin.String): Unit { | ||||||
|  |         return deleteUserWithHttpInfo(username = username) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun deleteUserWithHttpInfo(username: kotlin.String): ResponseEntity<Unit> { | ||||||
|  |         val localVariableConfig = deleteUserRequestConfig(username = username) | ||||||
|  |         return request<Unit, Unit>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun deleteUserRequestConfig(username: kotlin.String) : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |          | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.DELETE, | ||||||
|  |             path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun getUserByName(username: kotlin.String): User { | ||||||
|  |         return getUserByNameWithHttpInfo(username = username) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun getUserByNameWithHttpInfo(username: kotlin.String): ResponseEntity<User> { | ||||||
|  |         val localVariableConfig = getUserByNameRequestConfig(username = username) | ||||||
|  |         return request<Unit, User>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun getUserByNameRequestConfig(username: kotlin.String) : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Accept"] = "application/xml, application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.GET, | ||||||
|  |             path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = false, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun loginUser(username: kotlin.String, password: kotlin.String): kotlin.String { | ||||||
|  |         return loginUserWithHttpInfo(username = username, password = password) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun loginUserWithHttpInfo(username: kotlin.String, password: kotlin.String): ResponseEntity<kotlin.String> { | ||||||
|  |         val localVariableConfig = loginUserRequestConfig(username = username, password = password) | ||||||
|  |         return request<Unit, kotlin.String>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun loginUserRequestConfig(username: kotlin.String, password: kotlin.String) : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |             .apply { | ||||||
|  |                 put("username", listOf(username.toString())) | ||||||
|  |                 put("password", listOf(password.toString())) | ||||||
|  |             } | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Accept"] = "application/xml, application/json" | ||||||
|  | 
 | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.GET, | ||||||
|  |             path = "/user/login", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = false, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun logoutUser(): Unit { | ||||||
|  |         return logoutUserWithHttpInfo() | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun logoutUserWithHttpInfo(): ResponseEntity<Unit> { | ||||||
|  |         val localVariableConfig = logoutUserRequestConfig() | ||||||
|  |         return request<Unit, Unit>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun logoutUserRequestConfig() : RequestConfig<Unit> { | ||||||
|  |         val localVariableBody = null | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |          | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.GET, | ||||||
|  |             path = "/user/logout", | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun updateUser(username: kotlin.String, user: User): Unit { | ||||||
|  |         return updateUserWithHttpInfo(username = username, user = user) | ||||||
|  |             .body!! | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Throws(RestClientResponseException::class) | ||||||
|  |     fun updateUserWithHttpInfo(username: kotlin.String, user: User): ResponseEntity<Unit> { | ||||||
|  |         val localVariableConfig = updateUserRequestConfig(username = username, user = user) | ||||||
|  |         return request<User, Unit>( | ||||||
|  |             localVariableConfig | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     fun updateUserRequestConfig(username: kotlin.String, user: User) : RequestConfig<User> { | ||||||
|  |         val localVariableBody = user | ||||||
|  |         val localVariableQuery = mutableMapOf<kotlin.String, kotlin.collections.List<kotlin.String>>() | ||||||
|  |         val localVariableHeaders: MutableMap<String, String> = mutableMapOf() | ||||||
|  |         localVariableHeaders["Content-Type"] = "application/json" | ||||||
|  |          | ||||||
|  |         return RequestConfig( | ||||||
|  |             method = RequestMethod.PUT, | ||||||
|  |             path = "/user/{username}".replace("{"+"username"+"}", encodeURIComponent(username.toString())), | ||||||
|  |             query = localVariableQuery, | ||||||
|  |             headers = localVariableHeaders, | ||||||
|  |             requiresAuthentication = true, | ||||||
|  |             body = localVariableBody | ||||||
|  |         ) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | package org.openapitools.client.infrastructure | ||||||
|  | 
 | ||||||
|  | typealias MultiValueMap = MutableMap<String,List<String>> | ||||||
|  | 
 | ||||||
|  | fun collectionDelimiter(collectionFormat: String) = when(collectionFormat) { | ||||||
|  |     "csv" -> "," | ||||||
|  |     "tsv" -> "\t" | ||||||
|  |     "pipe" -> "|" | ||||||
|  |     "space" -> " " | ||||||
|  |     else -> "" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | val defaultMultiValueConverter: (item: Any?) -> String = { item -> "$item" } | ||||||
|  | 
 | ||||||
|  | fun <T : Any?> toMultiValue(items: Array<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter) | ||||||
|  |         = toMultiValue(items.asIterable(), collectionFormat, map) | ||||||
|  | 
 | ||||||
|  | fun <T : Any?> toMultiValue(items: Iterable<T>, collectionFormat: String, map: (item: T) -> String = defaultMultiValueConverter): List<String> { | ||||||
|  |     return when(collectionFormat) { | ||||||
|  |         "multi" -> items.map(map) | ||||||
|  |         else -> listOf(items.joinToString(separator = collectionDelimiter(collectionFormat), transform = map)) | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,65 @@ | |||||||
|  | package org.openapitools.client.infrastructure; | ||||||
|  | 
 | ||||||
|  | import org.springframework.core.ParameterizedTypeReference | ||||||
|  | import org.springframework.http.HttpHeaders | ||||||
|  | import org.springframework.http.HttpMethod | ||||||
|  | import org.springframework.http.MediaType | ||||||
|  | import org.springframework.web.util.UriUtils | ||||||
|  | import org.springframework.web.client.RestClient | ||||||
|  | import org.springframework.http.ResponseEntity | ||||||
|  | 
 | ||||||
|  | open class ApiClient(protected val client: RestClient) { | ||||||
|  | 
 | ||||||
|  |     protected inline fun <reified I : Any, reified T: Any?> request(requestConfig: RequestConfig<I>): ResponseEntity<T> { | ||||||
|  |         return prepare(defaults(requestConfig)) | ||||||
|  |             .retrieve() | ||||||
|  |             .toEntity(object : ParameterizedTypeReference<T>() {}) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     protected fun <I : Any> prepare(requestConfig: RequestConfig<I>) = | ||||||
|  |         client.method(requestConfig) | ||||||
|  |             .uri(requestConfig) | ||||||
|  |             .headers(requestConfig) | ||||||
|  |             .nullableBody(requestConfig) | ||||||
|  | 
 | ||||||
|  |     protected fun <I> defaults(requestConfig: RequestConfig<I>) = | ||||||
|  |         requestConfig.apply { | ||||||
|  |             if (body != null && headers[HttpHeaders.CONTENT_TYPE].isNullOrEmpty()) { | ||||||
|  |                 headers[HttpHeaders.CONTENT_TYPE] = MediaType.APPLICATION_JSON_VALUE | ||||||
|  |             } | ||||||
|  |             if (headers[HttpHeaders.ACCEPT].isNullOrEmpty()) { | ||||||
|  |                 headers[HttpHeaders.ACCEPT] = MediaType.APPLICATION_JSON_VALUE | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |     protected fun encodeURIComponent(uriComponent: kotlin.String) = | ||||||
|  |         UriUtils.encodeFragment(uriComponent, Charsets.UTF_8) | ||||||
|  | 
 | ||||||
|  |     private fun <I> RestClient.method(requestConfig: RequestConfig<I>)= | ||||||
|  |         method(HttpMethod.valueOf(requestConfig.method.name)) | ||||||
|  | 
 | ||||||
|  |     private fun <I> RestClient.RequestBodyUriSpec.uri(requestConfig: RequestConfig<I>) = | ||||||
|  |         uri { builder -> | ||||||
|  |             builder.path(requestConfig.path).apply { | ||||||
|  |                 requestConfig.query.forEach { (name, value) -> | ||||||
|  |                     queryParam(name, value) | ||||||
|  |                 } | ||||||
|  |             }.build() | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |     private fun <I> RestClient.RequestBodySpec.headers(requestConfig: RequestConfig<I>) = | ||||||
|  |         apply { requestConfig.headers.forEach { (name, value) -> header(name, value) } } | ||||||
|  | 
 | ||||||
|  |     private fun <I : Any> RestClient.RequestBodySpec.nullableBody(requestConfig: RequestConfig<I>) = | ||||||
|  |         apply { if (requestConfig.body != null) body(requestConfig.body) } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | inline fun <reified T: Any> parseDateToQueryString(value : T): String { | ||||||
|  |         /* | ||||||
|  |         .replace("\"", "") converts the json object string to an actual string for the query parameter. | ||||||
|  |         The moshi or gson adapter allows a more generic solution instead of trying to use a native | ||||||
|  |         formatter. It also easily allows to provide a simple way to define a custom date format pattern | ||||||
|  |         inside a gson/moshi adapter. | ||||||
|  |         */ | ||||||
|  |         return Serializer.jacksonObjectMapper.writeValueAsString(value).replace("\"", "") | ||||||
|  |     } | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | package org.openapitools.client.infrastructure | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Defines a config object for a given part of a multi-part request. | ||||||
|  |  * NOTE: Headers is a Map<String,String> because rfc2616 defines | ||||||
|  |  *       multi-valued headers as csv-only. | ||||||
|  |  */ | ||||||
|  | data class PartConfig<T>( | ||||||
|  |     val headers: MutableMap<String, String> = mutableMapOf(), | ||||||
|  |     val body: T? = null | ||||||
|  | ) | ||||||
| @ -0,0 +1,18 @@ | |||||||
|  | package org.openapitools.client.infrastructure | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Defines a config object for a given request. | ||||||
|  |  * NOTE: This object doesn't include 'body' because it | ||||||
|  |  *       allows for caching of the constructed object | ||||||
|  |  *       for many request definitions. | ||||||
|  |  * NOTE: Headers is a Map<String,String> because rfc2616 defines | ||||||
|  |  *       multi-valued headers as csv-only. | ||||||
|  |  */ | ||||||
|  | data class RequestConfig<T>( | ||||||
|  |     val method: RequestMethod, | ||||||
|  |     val path: String, | ||||||
|  |     val headers: MutableMap<String, String> = mutableMapOf(), | ||||||
|  |     val query: MutableMap<String, List<String>> = mutableMapOf(), | ||||||
|  |     val requiresAuthentication: Boolean, | ||||||
|  |     val body: T? = null | ||||||
|  | ) | ||||||
| @ -0,0 +1,8 @@ | |||||||
|  | package org.openapitools.client.infrastructure | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Provides enumerated HTTP verbs | ||||||
|  |  */ | ||||||
|  | enum class RequestMethod { | ||||||
|  |     GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT | ||||||
|  | } | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | package org.openapitools.client.infrastructure | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.databind.ObjectMapper | ||||||
|  | import com.fasterxml.jackson.databind.SerializationFeature | ||||||
|  | import com.fasterxml.jackson.annotation.JsonInclude | ||||||
|  | import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper | ||||||
|  | 
 | ||||||
|  | object Serializer { | ||||||
|  |     @JvmStatic | ||||||
|  |     val jacksonObjectMapper: ObjectMapper = jacksonObjectMapper() | ||||||
|  |         .findAndRegisterModules() | ||||||
|  |         .setSerializationInclusion(JsonInclude.Include.NON_ABSENT) | ||||||
|  |         .configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false) | ||||||
|  | } | ||||||
| @ -0,0 +1,38 @@ | |||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * Please note: | ||||||
|  |  * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * Do not edit this file manually. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @file:Suppress( | ||||||
|  |     "ArrayInDataClass", | ||||||
|  |     "EnumEntryName", | ||||||
|  |     "RemoveRedundantQualifierName", | ||||||
|  |     "UnusedImport" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * A category for a pet | ||||||
|  |  * | ||||||
|  |  * @param id  | ||||||
|  |  * @param name  | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | data class Category ( | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("id") | ||||||
|  |     val id: kotlin.Long? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("name") | ||||||
|  |     val name: kotlin.String? = null | ||||||
|  | 
 | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| @ -0,0 +1,42 @@ | |||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * Please note: | ||||||
|  |  * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * Do not edit this file manually. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @file:Suppress( | ||||||
|  |     "ArrayInDataClass", | ||||||
|  |     "EnumEntryName", | ||||||
|  |     "RemoveRedundantQualifierName", | ||||||
|  |     "UnusedImport" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Describes the result of uploading an image resource | ||||||
|  |  * | ||||||
|  |  * @param code  | ||||||
|  |  * @param type  | ||||||
|  |  * @param message  | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | data class ModelApiResponse ( | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("code") | ||||||
|  |     val code: kotlin.Int? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("type") | ||||||
|  |     val type: kotlin.String? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("message") | ||||||
|  |     val message: kotlin.String? = null | ||||||
|  | 
 | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| @ -0,0 +1,68 @@ | |||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * Please note: | ||||||
|  |  * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * Do not edit this file manually. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @file:Suppress( | ||||||
|  |     "ArrayInDataClass", | ||||||
|  |     "EnumEntryName", | ||||||
|  |     "RemoveRedundantQualifierName", | ||||||
|  |     "UnusedImport" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * An order for a pets from the pet store | ||||||
|  |  * | ||||||
|  |  * @param id  | ||||||
|  |  * @param petId  | ||||||
|  |  * @param quantity  | ||||||
|  |  * @param shipDate  | ||||||
|  |  * @param status Order Status | ||||||
|  |  * @param complete  | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | data class Order ( | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("id") | ||||||
|  |     val id: kotlin.Long? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("petId") | ||||||
|  |     val petId: kotlin.Long? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("quantity") | ||||||
|  |     val quantity: kotlin.Int? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("shipDate") | ||||||
|  |     val shipDate: java.time.OffsetDateTime? = null, | ||||||
|  | 
 | ||||||
|  |     /* Order Status */ | ||||||
|  |     @field:JsonProperty("status") | ||||||
|  |     val status: Order.Status? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("complete") | ||||||
|  |     val complete: kotlin.Boolean? = false | ||||||
|  | 
 | ||||||
|  | ) { | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Order Status | ||||||
|  |      * | ||||||
|  |      * Values: placed,approved,delivered,unknownDefaultOpenApi | ||||||
|  |      */ | ||||||
|  |     enum class Status(val value: kotlin.String) { | ||||||
|  |         @JsonProperty(value = "placed") placed("placed"), | ||||||
|  |         @JsonProperty(value = "approved") approved("approved"), | ||||||
|  |         @JsonProperty(value = "delivered") delivered("delivered"), | ||||||
|  |         @JsonProperty(value = "unknown_default_open_api") unknownDefaultOpenApi("unknown_default_open_api"); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -0,0 +1,71 @@ | |||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * Please note: | ||||||
|  |  * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * Do not edit this file manually. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @file:Suppress( | ||||||
|  |     "ArrayInDataClass", | ||||||
|  |     "EnumEntryName", | ||||||
|  |     "RemoveRedundantQualifierName", | ||||||
|  |     "UnusedImport" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.models | ||||||
|  | 
 | ||||||
|  | import org.openapitools.client.models.Category | ||||||
|  | import org.openapitools.client.models.Tag | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * A pet for sale in the pet store | ||||||
|  |  * | ||||||
|  |  * @param name  | ||||||
|  |  * @param photoUrls  | ||||||
|  |  * @param id  | ||||||
|  |  * @param category  | ||||||
|  |  * @param tags  | ||||||
|  |  * @param status pet status in the store | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | data class Pet ( | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("name") | ||||||
|  |     val name: kotlin.String, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("photoUrls") | ||||||
|  |     val photoUrls: kotlin.collections.List<kotlin.String>, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("id") | ||||||
|  |     val id: kotlin.Long? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("category") | ||||||
|  |     val category: Category? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("tags") | ||||||
|  |     val tags: kotlin.collections.List<Tag>? = null, | ||||||
|  | 
 | ||||||
|  |     /* pet status in the store */ | ||||||
|  |     @field:JsonProperty("status") | ||||||
|  |     @Deprecated(message = "This property is deprecated.") | ||||||
|  |     val status: Pet.Status? = null | ||||||
|  | 
 | ||||||
|  | ) { | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * pet status in the store | ||||||
|  |      * | ||||||
|  |      * Values: available,pending,sold,unknownDefaultOpenApi | ||||||
|  |      */ | ||||||
|  |     enum class Status(val value: kotlin.String) { | ||||||
|  |         @JsonProperty(value = "available") available("available"), | ||||||
|  |         @JsonProperty(value = "pending") pending("pending"), | ||||||
|  |         @JsonProperty(value = "sold") sold("sold"), | ||||||
|  |         @JsonProperty(value = "unknown_default_open_api") unknownDefaultOpenApi("unknown_default_open_api"); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -0,0 +1,38 @@ | |||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * Please note: | ||||||
|  |  * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * Do not edit this file manually. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @file:Suppress( | ||||||
|  |     "ArrayInDataClass", | ||||||
|  |     "EnumEntryName", | ||||||
|  |     "RemoveRedundantQualifierName", | ||||||
|  |     "UnusedImport" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * A tag for a pet | ||||||
|  |  * | ||||||
|  |  * @param id  | ||||||
|  |  * @param name  | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | data class Tag ( | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("id") | ||||||
|  |     val id: kotlin.Long? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("name") | ||||||
|  |     val name: kotlin.String? = null | ||||||
|  | 
 | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| @ -0,0 +1,63 @@ | |||||||
|  | /** | ||||||
|  |  * | ||||||
|  |  * Please note: | ||||||
|  |  * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||||||
|  |  * Do not edit this file manually. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | @file:Suppress( | ||||||
|  |     "ArrayInDataClass", | ||||||
|  |     "EnumEntryName", | ||||||
|  |     "RemoveRedundantQualifierName", | ||||||
|  |     "UnusedImport" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | package org.openapitools.client.models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | import com.fasterxml.jackson.annotation.JsonProperty | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * A User who is purchasing from the pet store | ||||||
|  |  * | ||||||
|  |  * @param id  | ||||||
|  |  * @param username  | ||||||
|  |  * @param firstName  | ||||||
|  |  * @param lastName  | ||||||
|  |  * @param email  | ||||||
|  |  * @param password  | ||||||
|  |  * @param phone  | ||||||
|  |  * @param userStatus User Status | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | data class User ( | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("id") | ||||||
|  |     val id: kotlin.Long? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("username") | ||||||
|  |     val username: kotlin.String? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("firstName") | ||||||
|  |     val firstName: kotlin.String? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("lastName") | ||||||
|  |     val lastName: kotlin.String? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("email") | ||||||
|  |     val email: kotlin.String? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("password") | ||||||
|  |     val password: kotlin.String? = null, | ||||||
|  | 
 | ||||||
|  |     @field:JsonProperty("phone") | ||||||
|  |     val phone: kotlin.String? = null, | ||||||
|  | 
 | ||||||
|  |     /* User Status */ | ||||||
|  |     @field:JsonProperty("userStatus") | ||||||
|  |     val userStatus: kotlin.Int? = null | ||||||
|  | 
 | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| @ -8,7 +8,7 @@ wrapper { | |||||||
| 
 | 
 | ||||||
| buildscript { | buildscript { | ||||||
|     ext.kotlin_version = '1.8.10' |     ext.kotlin_version = '1.8.10' | ||||||
|     ext.spring_boot_version = "3.1.0" |     ext.spring_boot_version = "3.2.0" | ||||||
|     ext.reactor_version = "3.5.6" |     ext.reactor_version = "3.5.6" | ||||||
|     ext.spotless_version = "6.13.0" |     ext.spotless_version = "6.13.0" | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user