forked from loafle/openapi-generator-original
* Added supporting kotlin.serialization for jvm * Added Serializable annotations for java types(date,time,url,uri etc.) * Added SafeEnumSerializer * Added StringBuilderAdapter for kotlin.serialization Fix adapter naming Fix Retrofit ApiClient.kt for kotlin.serialization * Added StringBuilderAdapter for kotlin.serialization * Switch sample to retrofit2-kotlin-serialization * Add sample for retrofit2-kotlin.serialization * update sample * update sample * update sample #3 * Fix enum quotes for kotlin.serialization * update samples * update pom.xml * add pom.xml to child module * fix kotlin-multiplatform freeCompilerArgs * refactoring, add useSafeEnum option, remove safeEnum for kotlin.multiplatform * update kotlin samples * fix import kotlinx.serialization.Required * Update kotlinx.serialization 1.0.0-rc-2, kotlin 1.4.10, retrofit-kotlinx-converter 0.7.0 * Update gradle wrapper 6.7-rc-3 * fix SafeEnum import * fix Json initialization, fix SafeEnumSerializer * update samples * update kotlinx.serialization to 1.0.0 * Update gradle to 6.7 in kotlin samples * fixed adding @Contextual for collections with non-primitive type elements * remove unused SafeEnum imports, refactored * update kotlin readme * update kotlin project template Readme.md * update samples for kotlin * simplify template for class properties * remove @Contextual from kotlin-multiplatform * update kotlin multiplatform dependencies * refactoring templates * revert all changes for multiplatform * fix tests * revert multiplatform #2 * update samples after merge, fix missed isListContainer->isArray * fixed redundant space before @Contextual * Fixed enum template, Class were missed in generated samples * fix enum template toString value->serialName * fixed isEnum case for collections * update samples * removed useSafeEnum option, kotlinx serialization has out of box approach with coerceInputValues option for same behavior * generate samples * update kotlinx.serialization 1.0.1 * update samples * Added pom.mustache template for kotlin-client samples with fixed execution of gradle wrapper instead standalone installed gradle on CI * update samples with new pom.xml * reverted enum value property name * fixed kotlin-multiplatform pom.xml * update kotlin-threetenbp sample * update kotlin-string sample * update kotlin-string sample * fix adding kotlinx.serialization classpath to build.gradle * generate samples * add supporting kotlinx_serialization kotlinx.serialization.Serializable with java.io.Serializable at the same time * update retrofit2-kotlinx-serialization-converter:0.8.0 * update kotlinx_serialization sample with retrofit2-kotlinx-serialization-converter:0.8.0 * apply suggest from @blendthink * added proguard-rules.pro file for kotlinx.serialization on Android projects * fix pom.mustache * update gradle wrapper to 6.8.3 * update kotlin samples * fix kotlin readme template, update kotlin samples * update kotlin samples * update kotlin sample delete petstore/kotlin unit tests * revert deletion kotlin client tests remove adding pom.xml to kotlin client samples * add support kotlinx serialization for okhttp3/4 * update kotlin client samples
org.openapitools.client - Kotlin client library for OpenAPI Petstore
Requires
- Kotlin 1.4.30
- Gradle 6.8.3
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 | findPetsByTags | GET /pet/findByTags | Finds Pets by tags |
PetApi | getAllPets | GET /pet/getAll | Get all pets |
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