Nikita Karnaukh 53eff43184
[Kotlin][Client] Fix url path for Retrofit, Fix optionals for @Query @Body, Set List as default collection for Kotlin data class (#6456)
* Replace typeMapping kotlin.Array with kotlin.collections.List, because its doesn't work with Kotlin Data Classes(required manually implementing  hashCode&equals)
Replace typeMapping kotlin.Array<kotlin.Byte> with efficient primitive implementation kotlin.ByteArray
Replace instantiationTypes array to kotlin.collections.ArrayList, for extending Array we should provide element count to its constructor.

* Fixed path(removed slash on begin path) for Jvm Kotlin Retrofit

* Fixed handling optional bodyParams for Jvm Kotlin Retrofit

* Fix kotlin tests

* Fixed code format for detekt inspections #2

* revert formatting

* Added ability to generate optional @Query params.

* Update Kotlin docs.

* Update Kotlin openapi3 client samples

* Update Kotlin client samples

* Update Kotlin openapi3 client samples after merge with master

* Revert hardcoding List instead Array

* Set List as default collectionType

* Update Kotlin samples

* Fixed Kotlin multiplatform api template. fix mapper for Array type.
Fixed Kotlin multiplatform api template Code style.

* Update Kotlin multiplatform sample

* Fix Kotlin multiplatform template code style

* Update Kotlin multiplatform sample

* Fix Kotlin multiplatform converting Array to List in Api.

* Update Kotlin multiplatform sample #3

* Fix Kotlin tests

* Fix Kotlin jackson Application.kt

* Fix Kotlin tests #2

* Fix merge conflict with master

* Generate samples after merge with master

* Generate samples after merge with master #2

* Generate samples after merge with master #3

* Generate samples after merge with master #4

* update kotlin samples

* update all samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
2020-06-16 10:33:34 +08:00

8.1 KiB

PetApi

All URIs are relative to http://petstore.swagger.io/v2

Method HTTP request Description
addPet POST pet Add a new pet to the store
deletePet DELETE pet/{petId} Deletes a pet
findPetsByStatus GET pet/findByStatus Finds Pets by status
findPetsByTags GET pet/findByTags Finds Pets by tags
getPetById GET pet/{petId} Find pet by ID
updatePet PUT pet Update an existing pet
updatePetWithForm POST pet/{petId} Updates a pet in the store with form data
uploadFile POST pet/{petId}/uploadImage uploads an image

Add a new pet to the store

Example

// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*

val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val body : Pet =  // Pet | Pet object that needs to be added to the store

webService.addPet(body)

Parameters

Name Type Description Notes
body Pet Pet object that needs to be added to the store

Return type

null (empty response body)

Authorization

HTTP request headers

  • Content-Type: application/json, application/xml
  • Accept: Not defined

Deletes a pet

Example

// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*

val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val petId : kotlin.Long = 789 // kotlin.Long | Pet id to delete
val apiKey : kotlin.String = apiKey_example // kotlin.String | 

webService.deletePet(petId, apiKey)

Parameters

Name Type Description Notes
petId kotlin.Long Pet id to delete
apiKey kotlin.String [optional]

Return type

null (empty response body)

Authorization

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

Finds Pets by status

Multiple status values can be provided with comma separated strings

Example

// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*

val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val status : kotlin.collections.List<kotlin.String> =  // kotlin.collections.List<kotlin.String> | Status values that need to be considered for filter

val result : kotlin.collections.List<Pet> = webService.findPetsByStatus(status)

Parameters

Name Type Description Notes
status kotlin.collections.List<kotlin.String> Status values that need to be considered for filter [enum: available, pending, sold]

Return type

kotlin.collections.List<Pet>

Authorization

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/xml, application/json

Finds Pets by tags

Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.

Example

// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*

val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val tags : kotlin.collections.List<kotlin.String> =  // kotlin.collections.List<kotlin.String> | Tags to filter by

val result : kotlin.collections.List<Pet> = webService.findPetsByTags(tags)

Parameters

Name Type Description Notes
tags kotlin.collections.List<kotlin.String> Tags to filter by

Return type

kotlin.collections.List<Pet>

Authorization

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/xml, application/json

Find pet by ID

Returns a single pet

Example

// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*

val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val petId : kotlin.Long = 789 // kotlin.Long | ID of pet to return

val result : Pet = webService.getPetById(petId)

Parameters

Name Type Description Notes
petId kotlin.Long ID of pet to return

Return type

Pet

Authorization

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/xml, application/json

Update an existing pet

Example

// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*

val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val body : Pet =  // Pet | Pet object that needs to be added to the store

webService.updatePet(body)

Parameters

Name Type Description Notes
body Pet Pet object that needs to be added to the store

Return type

null (empty response body)

Authorization

HTTP request headers

  • Content-Type: application/json, application/xml
  • Accept: Not defined

Updates a pet in the store with form data

Example

// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*

val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
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

webService.updatePetWithForm(petId, name, status)

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

HTTP request headers

  • Content-Type: application/x-www-form-urlencoded
  • Accept: Not defined

uploads an image

Example

// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*

val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
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

val result : ApiResponse = webService.uploadFile(petId, additionalMetadata, file)

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

ApiResponse

Authorization

HTTP request headers

  • Content-Type: multipart/form-data
  • Accept: application/json