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
..
2019-10-28 16:03:49 +08:00
2019-09-21 21:48:41 +08:00

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

Requires

  • Kotlin 1.3.50

Build

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

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