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

4.5 KiB

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 project. By using the openapi-spec 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.

Documentation for API Endpoints

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

Class Method HTTP request Description
PetApi addPet POST pet Add a new pet to the store
PetApi deletePet DELETE pet/{petId} Deletes a pet
PetApi findPetsByStatus GET pet/findByStatus Finds Pets by status
PetApi findPetsByTags GET pet/findByTags Finds Pets by tags
PetApi getPetById GET pet/{petId} Find pet by ID
PetApi updatePet PUT pet Update an existing pet
PetApi updatePetWithForm POST pet/{petId} Updates a pet in the store with form data
PetApi uploadFile POST pet/{petId}/uploadImage uploads an image
StoreApi deleteOrder DELETE store/order/{orderId} Delete purchase order by ID
StoreApi getInventory GET store/inventory Returns pet inventories by status
StoreApi getOrderById GET store/order/{orderId} Find purchase order by ID
StoreApi placeOrder POST store/order Place an order for a pet
UserApi createUser POST user Create user
UserApi createUsersWithArrayInput POST user/createWithArray Creates list of users with given input array
UserApi createUsersWithListInput POST user/createWithList Creates list of users with given input array
UserApi deleteUser DELETE user/{username} Delete user
UserApi getUserByName GET user/{username} Get user by user name
UserApi loginUser GET user/login Logs user into the system
UserApi logoutUser GET user/logout Logs out current logged in user session
UserApi updateUser PUT user/{username} Updated user

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

petstore_auth

api_key

  • Type: API key
  • API key parameter name: api_key
  • Location: HTTP header