Yonatan Karp-Rudin 83af019603
Fix Retrofit template with Jackson for Kotlin (#14239)
* Fix Retrofit template with Jackson (Fix #8147)

This commit amends the `ApiClient` template for Retrofit. It fixes a bug where the Retrofit client uses Jackson as the serialization library.

Until now, the `ApiClient` could not be compiled when using the Jackson library (default in SpringBoot applications), as the constructor of the class had the following parameter:

`private val serializerBuilder: Builder = Serializer.Builder,`

The change done in the commit, is to ensure that in case of Jackson, the right property of the `Serializer` class is assigned

* Add sample code for `kotlin-jvm-jackson`

This commit adds a sample code for the `kotlin-jvm-jackson` generated code to test the changes on CI

* Update kotlin code samples for CI

This commit only runs the command `bin/generate-samples.sh bin/configs/kotlin-*` to ensure that all code samples are up-to-date and CI can pass successfully.
2023-08-14 10:06:49 +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 pet : Pet =  // Pet | Pet object that needs to be added to the store

val result : Pet = webService.addPet(pet)

Parameters

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

Return type

Pet

Authorization

HTTP request headers

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

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 pet : Pet =  // Pet | Pet object that needs to be added to the store

val result : Pet = webService.updatePet(pet)

Parameters

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

Return type

Pet

Authorization

HTTP request headers

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

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 : ModelApiResponse = 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

ModelApiResponse

Authorization

HTTP request headers

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