forked from loafle/openapi-generator-original
* Added support Retrofit2(RxJava/RxJava2/Coroutines) to Kotlin client code generator * Added generated samples for Retrofit2(RxJava/RxJava2/Coroutines) on Kotlin * Fixed generating retrofit2 without Rx/Coroutines * Fixed MultipartBody template, remove redundant space after MultipartBody.Part annotation * Fix documentation diff. * Fix generating build.gradle file for samples. Add dependencies for rxJava/rxJava2 and rx retrofit's adapter. * Update generated sample with rx dependencies * Update generated sample with coroutines * Update generated sample with RxJava 2 dependencies * Update and refactoring scripts for sample generation * Update generated sample code * revert changes by mistake * revert changes by mistake #2 * Fix return type for first RxJava * Add RxJavaCallAdapterFactory to ApiClient scheme for RxJava 1/2 * Fix script loggin * Update generated code for RxJava 1/2 * Fix kotlin.md documentation by script export_docs_generators.sh * Update Kotlin samples project in pom.xml * Revert "Update Kotlin samples project in pom.xml" This reverts commit 9de4d0ba * Fixed "" wrapping number types for annotation value Fixed generating polymorphic interfaces for Gson, interface fields can't be marked with @SerializedName annotation, it's enough to mark it in child model. Fixed instantiationTypes(array, list, map) for Kotlin generator * Update Kotlin samples project after last fixes * Update Kotlin samples project for kotlin-jvm-* * Update Kotlin readme.md documentations * Update Kotlin client sample changes * Fixed encoding braces for generics model * Update Kotlin client sample changes * Update Kotlin client sample after merge with master * Fixed adding empty braces for inherit from Map/Array * Update sample model after last fix with empty braces * Revert adding @SerializedName to Kotlin interface fields through @get:SerializedName as for Jackson * Update Kotlin client samples with adding @get:SerializedName
org.openapitools.client - Kotlin client library for OpenAPI Petstore
Requires
- Kotlin 1.3.41
- 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/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
- org.openapitools.client.models.ApiResponse
- org.openapitools.client.models.Category
- org.openapitools.client.models.Order
- org.openapitools.client.models.Pet
- org.openapitools.client.models.Tag
- org.openapitools.client.models.User
Documentation for Authorization
api_key
- Type: API key
- API key parameter name: api_key
- Location: HTTP header
petstore_auth
- Type: OAuth
- Flow: implicit
- Authorization URL: http://petstore.swagger.io/api/oauth/dialog
- Scopes:
- write:pets: modify pets in your account
- read:pets: read your pets