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
..

org.openapitools.client - Kotlin client library for OpenAPI Petstore

Requires

  • Kotlin 1.3.61
  • Gradle 4.9

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:80/v2

Class Method HTTP request Description
AnotherFakeApi call123testSpecialTags PATCH another-fake/dummy To test special tags
DefaultApi fooGet GET foo
FakeApi fakeHealthGet GET fake/health Health check endpoint
FakeApi fakeHttpSignatureTest GET fake/http-signature-test test http signature authentication
FakeApi fakeOuterBooleanSerialize POST fake/outer/boolean
FakeApi fakeOuterCompositeSerialize POST fake/outer/composite
FakeApi fakeOuterNumberSerialize POST fake/outer/number
FakeApi fakeOuterStringSerialize POST fake/outer/string
FakeApi testBodyWithFileSchema PUT fake/body-with-file-schema
FakeApi testBodyWithQueryParams PUT fake/body-with-query-params
FakeApi testClientModel PATCH fake To test "client" model
FakeApi testEndpointParameters POST fake Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
FakeApi testEnumParameters GET fake To test enum parameters
FakeApi testGroupParameters DELETE fake Fake endpoint to test group parameters (optional)
FakeApi testInlineAdditionalProperties POST fake/inline-additionalProperties test inline additionalProperties
FakeApi testJsonFormData GET fake/jsonFormData test json serialization of form data
FakeApi testQueryParameterCollectionFormat PUT fake/test-query-paramters
FakeClassnameTags123Api testClassname PATCH fake_classname_test To test class name in snake case
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
PetApi uploadFileWithRequiredFile POST fake/{petId}/uploadImageWithRequiredFile uploads an image (required)
StoreApi deleteOrder DELETE store/order/{order_id} Delete purchase order by ID
StoreApi getInventory GET store/inventory Returns pet inventories by status
StoreApi getOrderById GET store/order/{order_id} 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

api_key

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

api_key_query

  • Type: API key
  • API key parameter name: api_key_query
  • Location: URL query string

bearer_test

  • Type: HTTP basic authentication

http_basic_test

  • Type: HTTP basic authentication

http_signature_test

  • Type: HTTP basic authentication

petstore_auth