mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-13 13:10:53 +00:00
* Add basic jvm-volley folder to enable it as a library * Add JVM_VOLLEY to the KotlinClientCodegen as a library option (using Retrofit2 processing for now) * Temporary checkin of generated code and kotlinfied version for use in new template * Added Kotlin-ified api invoker and request objects, update Kotlin client codgen for volley * Add Android specific build.gradle mustache file to jvm-volley library * Hardcode SDK version and build tools version in build.gradle template, add extra repository for Android Gradle build tools * Add Android manifest to generated code * Add Kotlin dependencies and plugins to build gradle template * WIP: Create basic API templating for jvm-volley * Add ApiException and parameter validation, create path variable using ApiInvoker * Build queryParams and headerParams * Add VolleyRequest template * WIP: Injecting context and default API invoker into APIs (non compiling) * Add DefaultInvoker stub and update API to inject context * Add request queue generation to the DefaultInvoker * Fix up compile errors in the invoker * Cleanup unrequired templates * Update templates * Add constructor overloads to inject stack or network into request queue * Fix compile errors with request queue generation * Fix compile errors * Al'll fix it for you..... * WIP compile fixes * More compile fixes * Generate to java directory and kotlin-ify auth code * More syntax fixes in templates * Almost left it in a working state, fixing that .... now... * Switch builder method based on model existence constraints - body and response * Add coroutine logic to APIs and pass through listeners to the requests, various other fixes. * Use reflection and type tokens to work around clazz issues on generics * Add POST, PATCH and PUT to RequestFactory * More templating magic * Fix Steve, the human compiler's errors again ! * Add CLI option for generating room models * Configure the room model package * Add initial room model templating and generation * Add room model generation implementation * Implement toRoom function on models to convert model to room model * Bug fixes, transformers to and from room models * Add query parameters to URL generation * Fix issues with gson type conversion, add type adapters to gson instance * Fix issues with older API versions and Java8 libraries, * Add request factory interface * API template tidy up * Update IRequestFactory to include companion object, minor tidy ups * Remove @Keep annotations from room templates * Rename toRoomModel and toApiModel functions * Add empty companion object to generated room model * Add ITransformStorage interface to allow polymorphic transforms to room models * Add content type into GsonRequest * Move gson serialization of request body into GsonRequest * Update request factory to take header factories * Remove the generated comparision code * Move the generateRoomModels switch into the KotlinClientCodegen class * Move room model generation out of default generator * Updates for auth * Finalise removal of kotlin elements from default generator * Hoist room model logic out of abstractKotlin into kotlin client codegen * Revert AbstractKotlinCodegen * Revert Codegen constants to remove base generator changes out of our new library * Revert data class template changes, add data class body check to Kotlin Client codegen * Add sample generation yaml file for jvm-volley library * Update JVM-Volley readme for generateRoomModels flag * Remove unused template files, get auth compiling but non functional, clean build of warnings * Generate sample generated code * Add not implemented method for oauth * Add unit test for KotlinClientCodegen generateRoomModel flag * Remove accidental hard coding of src/main/java source folder * Push changed generated sample files * Move and rename IStorable inside the volley library * Inject retry policy into API definition, re-run sample and doc scripts * Add generic post processors * Update samples after generator changes * Fix some compile errors with the pet store sample * Fix duplicate auth companion object and import generation * Reinstate query and form parameter code generation * Add check for unsupported serialization libraries * Fix broken unit tests * Regenerate samples * AN-233 Update request factory to allow custom gsonadapters * update `GsonRequest.mustache` and `RequestFactoy.mustache` to use `Map<Type, Any>` instead of `Map<Type, Object>` to better fit kotlin conventions * Update readme with better examples and design notes * Update readme with info about gson serializers and adapters for polymorphic types * Updated samples * Merge from upstream * Address review comments * Update samples * Samples * Update docs * Remove DateAdapter generated file, template and it's inclusion as a supporting file in favour of localDateTime * Review comment cleanup for initial PR #10253 - cleaner auth key in parameter string handling * Review comment - add a kotlin version parameter to the build scripts * Updated samples * Missing changes from build.mustache * Regenerate samples for build.gradle changes * Merge from master and generate samples * Remove serializer as a supporting file from jvm-volley - it's serialisation is not a singleton and configured differently via gson request and dependency injection * Remove singleton serializer from jvm-volley generation as it's not used Co-authored-by: Alister Shipman <alister.shipman@greater.com.au> Co-authored-by: Steve Telford <steven.telford@greater.com.au> Co-authored-by: Leigh Cooper <leigh.cooper@greater.com.au> Co-authored-by: Michael Hewett <y2trooper@gmail.com>
8.1 KiB
8.1 KiB
PetApi
All URIs are relative to http://petstore.swagger.io/v2
Method | HTTP request | Description |
---|---|---|
addPet | POST /pet | Add a new pet to the store |
deletePet | DELETE /pet/{petId} | Deletes a pet |
findPetsByStatus | GET /pet/findByStatus | Finds Pets by status |
findPetsByTags | GET /pet/findByTags | Finds Pets by tags |
getPetById | GET /pet/{petId} | Find pet by ID |
updatePet | PUT /pet | Update an existing pet |
updatePetWithForm | POST /pet/{petId} | Updates a pet in the store with form data |
uploadFile | POST /pet/{petId}/uploadImage | uploads an image |
Add a new pet to the store
Example
// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*
val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val body : Pet = // Pet | Pet object that needs to be added to the store
webService.addPet(body)
Parameters
Name | Type | Description | Notes |
---|---|---|---|
body | Pet | Pet object that needs to be added to the store |
Return type
null (empty response body)
Authorization
HTTP request headers
- Content-Type: application/json, application/xml
- Accept: Not defined
Deletes a pet
Example
// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*
val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val petId : kotlin.Long = 789 // kotlin.Long | Pet id to delete
val apiKey : kotlin.String = apiKey_example // kotlin.String |
webService.deletePet(petId, apiKey)
Parameters
Name | Type | Description | Notes |
---|---|---|---|
petId | kotlin.Long | Pet id to delete | |
apiKey | kotlin.String | [optional] |
Return type
null (empty response body)
Authorization
HTTP request headers
- Content-Type: Not defined
- Accept: Not defined
Finds Pets by status
Multiple status values can be provided with comma separated strings
Example
// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*
val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val status : kotlin.collections.List<kotlin.String> = // kotlin.collections.List<kotlin.String> | Status values that need to be considered for filter
val result : kotlin.collections.List<Pet> = webService.findPetsByStatus(status)
Parameters
Name | Type | Description | Notes |
---|---|---|---|
status | kotlin.collections.List<kotlin.String> | Status values that need to be considered for filter | [enum: available, pending, sold] |
Return type
Authorization
HTTP request headers
- Content-Type: Not defined
- Accept: application/xml, application/json
Finds Pets by tags
Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
Example
// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*
val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val tags : kotlin.collections.List<kotlin.String> = // kotlin.collections.List<kotlin.String> | Tags to filter by
val result : kotlin.collections.List<Pet> = webService.findPetsByTags(tags)
Parameters
Name | Type | Description | Notes |
---|---|---|---|
tags | kotlin.collections.List<kotlin.String> | Tags to filter by |
Return type
Authorization
HTTP request headers
- Content-Type: Not defined
- Accept: application/xml, application/json
Find pet by ID
Returns a single pet
Example
// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*
val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val petId : kotlin.Long = 789 // kotlin.Long | ID of pet to return
val result : Pet = webService.getPetById(petId)
Parameters
Name | Type | Description | Notes |
---|---|---|---|
petId | kotlin.Long | ID of pet to return |
Return type
Authorization
HTTP request headers
- Content-Type: Not defined
- Accept: application/xml, application/json
Update an existing pet
Example
// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*
val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val body : Pet = // Pet | Pet object that needs to be added to the store
webService.updatePet(body)
Parameters
Name | Type | Description | Notes |
---|---|---|---|
body | Pet | Pet object that needs to be added to the store |
Return type
null (empty response body)
Authorization
HTTP request headers
- Content-Type: application/json, application/xml
- Accept: Not defined
Updates a pet in the store with form data
Example
// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*
val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val petId : kotlin.Long = 789 // kotlin.Long | ID of pet that needs to be updated
val name : kotlin.String = name_example // kotlin.String | Updated name of the pet
val status : kotlin.String = status_example // kotlin.String | Updated status of the pet
webService.updatePetWithForm(petId, name, status)
Parameters
Name | Type | Description | Notes |
---|---|---|---|
petId | kotlin.Long | ID of pet that needs to be updated | |
name | kotlin.String | Updated name of the pet | [optional] |
status | kotlin.String | Updated status of the pet | [optional] |
Return type
null (empty response body)
Authorization
HTTP request headers
- Content-Type: application/x-www-form-urlencoded
- Accept: Not defined
uploads an image
Example
// Import classes:
//import org.openapitools.client.*
//import org.openapitools.client.infrastructure.*
//import org.openapitools.client.models.*
val apiClient = ApiClient()
val webService = apiClient.createWebservice(PetApi::class.java)
val petId : kotlin.Long = 789 // kotlin.Long | ID of pet to update
val additionalMetadata : kotlin.String = additionalMetadata_example // kotlin.String | Additional data to pass to server
val file : java.io.File = BINARY_DATA_HERE // java.io.File | file to upload
val result : ModelApiResponse = webService.uploadFile(petId, additionalMetadata, file)
Parameters
Name | Type | Description | Notes |
---|---|---|---|
petId | kotlin.Long | ID of pet to update | |
additionalMetadata | kotlin.String | Additional data to pass to server | [optional] |
file | java.io.File | file to upload | [optional] |
Return type
Authorization
HTTP request headers
- Content-Type: multipart/form-data
- Accept: application/json