Andrew Wilson d81b5a37d1
#20883 - Add new Misk Kotlin OpenAPI Generator (#20885)
* first pass

* Fix extra new line

* adding generator file

* Run new.sh script

* Fix template directory and ignore failing tests

* fixing up content type

* adding controller impl

* cleanup interface

* typo

* removing bodytype

* adding protos

* fixing 2

* Fix headerParamsSimple

* removing protos etc.

* fixing imports

* removing commented code

* fixing imports

* fixing return

* fixing file

* adding comment

* remove adminapi

* move to jakarta

* reverting break

* fixing httpMethods

* pushing mediaTypes

* Adds gradle mustache templates

* Setup simple build.gradle.kts

* Adds basic model.mustache for model generation

* fixing summary

* fixing summary 2

* Removes unnecesssary line

* fixing return type

* fixing override

* fixing httpcall

* Delete proto folder creation

* fixing return type

* fixing void return type

* fixing space

* removing reactive

* removing imports

* Fixing spacing

* Fixing tabbing

* fixing headers

* add comment

* Adds unit tests

* cleanup

* Correct getHelp() description

* cleanup 2

* removiing pathParams files

* fixup

* fixup 3

* removing more files

* Adds GitHub Workflow generation

* removing form params as not required

* Adds tests for OptionsProvider

* Renamed file to match

* remove whitespace

* remove whitespace

* adding documentation

* adding documentation

* removing swagger annotations

* adding tests

* Adds Guice Module

* Grab OpenAPI title to generate module name

* Revert "Grab OpenAPI title to generate module name"

This reverts commit 9c9b935f5dbee6e0974ebf66b4f611f107df70c2.

* Update sample

* Removes moduleFileName additional property

* adding tests

* adding tests 2

* adding tests 3

* adding tests 4

* added media types

* re-adding tests

* fixing camelcase

* fixing mediatypes

* default mediatype

* adding validation

* adding validation

* removing swagger

* adding gradle dependency

* adding gradle dependency

* fixing types

* fixing return types

* fixing tests

* final fixes

* tweaks

* fixing file etc.

* Update samples/ folder

* fixing jakarta

* fixing jakarta 2

* fixing impl

* Fix unit tests

* fixing jakarta

* fixing jakarta 2

* final final final changes

* Fix initialization of BigDecimal for default values

* update samples, docs

* fixing RequestHeader

* fixing RequestHeader 2

* fixing RequestHeader 2

* add validateSpec=false

* fix pom version

---------

Co-authored-by: Guido Arnau <guido@squareup.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-03-25 22:43:30 +08:00

9.2 KiB

UserApi

All URIs are relative to http://petstore.swagger.io/v2

Method HTTP request Description
createUser Post /user Create user
createUsersWithArrayInput Post /user/createWithArray Creates list of users with given input array
createUsersWithListInput Post /user/createWithList Creates list of users with given input array
deleteUser Delete /user/{username} Delete user
getUserByName Get /user/{username} Get user by user name
loginUser Get /user/login Logs user into the system
logoutUser Get /user/logout Logs out current logged in user session
updateUser Put /user/{username} Updated user

createUser

createUser(user)

Create user

This can only be done by the logged in user.

Example

// Import classes:
//import org.openapitools.infrastructure.*
//import org.openapitools.server.api.model.*

val apiInstance = UserApi()
val user : User =  // User | Created user object
try {
    apiInstance.createUser(user)
} catch (e: ClientException) {
    println("4xx response calling UserApi#createUser")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling UserApi#createUser")
    e.printStackTrace()
}

Parameters

Name Type Description Notes
user User Created user object

Return type

null (empty response body)

Authorization

api_key

HTTP request headers

  • Content-Type: MediaTypes.APPLICATION_JSON
  • Accept: Not defined

createUsersWithArrayInput

createUsersWithArrayInput(user)

Creates list of users with given input array

Example

// Import classes:
//import org.openapitools.infrastructure.*
//import org.openapitools.server.api.model.*

val apiInstance = UserApi()
val user : kotlin.Array<User> =  // kotlin.Array<User> | List of user object
try {
    apiInstance.createUsersWithArrayInput(user)
} catch (e: ClientException) {
    println("4xx response calling UserApi#createUsersWithArrayInput")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling UserApi#createUsersWithArrayInput")
    e.printStackTrace()
}

Parameters

Name Type Description Notes
user kotlin.Array<User> List of user object

Return type

null (empty response body)

Authorization

api_key

HTTP request headers

  • Content-Type: MediaTypes.APPLICATION_JSON
  • Accept: Not defined

createUsersWithListInput

createUsersWithListInput(user)

Creates list of users with given input array

Example

// Import classes:
//import org.openapitools.infrastructure.*
//import org.openapitools.server.api.model.*

val apiInstance = UserApi()
val user : kotlin.Array<User> =  // kotlin.Array<User> | List of user object
try {
    apiInstance.createUsersWithListInput(user)
} catch (e: ClientException) {
    println("4xx response calling UserApi#createUsersWithListInput")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling UserApi#createUsersWithListInput")
    e.printStackTrace()
}

Parameters

Name Type Description Notes
user kotlin.Array<User> List of user object

Return type

null (empty response body)

Authorization

api_key

HTTP request headers

  • Content-Type: MediaTypes.APPLICATION_JSON
  • Accept: Not defined

deleteUser

deleteUser(username)

Delete user

This can only be done by the logged in user.

Example

// Import classes:
//import org.openapitools.infrastructure.*
//import org.openapitools.server.api.model.*

val apiInstance = UserApi()
val username : kotlin.String = username_example // kotlin.String | The name that needs to be deleted
try {
    apiInstance.deleteUser(username)
} catch (e: ClientException) {
    println("4xx response calling UserApi#deleteUser")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling UserApi#deleteUser")
    e.printStackTrace()
}

Parameters

Name Type Description Notes
username kotlin.String The name that needs to be deleted

Return type

null (empty response body)

Authorization

api_key

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

getUserByName

User getUserByName(username)

Get user by user name

Example

// Import classes:
//import org.openapitools.infrastructure.*
//import org.openapitools.server.api.model.*

val apiInstance = UserApi()
val username : kotlin.String = username_example // kotlin.String | The name that needs to be fetched. Use user1 for testing.
try {
    val result : User = apiInstance.getUserByName(username)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling UserApi#getUserByName")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling UserApi#getUserByName")
    e.printStackTrace()
}

Parameters

Name Type Description Notes
username kotlin.String The name that needs to be fetched. Use user1 for testing.

Return type

User

Authorization

No authorization required

HTTP request headers

  • Content-Type: Not defined
  • Accept: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON

loginUser

kotlin.String loginUser(username, password)

Logs user into the system

Example

// Import classes:
//import org.openapitools.infrastructure.*
//import org.openapitools.server.api.model.*

val apiInstance = UserApi()
val username : kotlin.String = username_example // kotlin.String | The user name for login
val password : kotlin.String = password_example // kotlin.String | The password for login in clear text
try {
    val result : kotlin.String = apiInstance.loginUser(username, password)
    println(result)
} catch (e: ClientException) {
    println("4xx response calling UserApi#loginUser")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling UserApi#loginUser")
    e.printStackTrace()
}

Parameters

Name Type Description Notes
username kotlin.String The user name for login
password kotlin.String The password for login in clear text

Return type

kotlin.String

Authorization

No authorization required

HTTP request headers

  • Content-Type: Not defined
  • Accept: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON

logoutUser

logoutUser()

Logs out current logged in user session

Example

// Import classes:
//import org.openapitools.infrastructure.*
//import org.openapitools.server.api.model.*

val apiInstance = UserApi()
try {
    apiInstance.logoutUser()
} catch (e: ClientException) {
    println("4xx response calling UserApi#logoutUser")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling UserApi#logoutUser")
    e.printStackTrace()
}

Parameters

This endpoint does not need any parameter.

Return type

null (empty response body)

Authorization

api_key

HTTP request headers

  • Content-Type: Not defined
  • Accept: Not defined

updateUser

updateUser(username, user)

Updated user

This can only be done by the logged in user.

Example

// Import classes:
//import org.openapitools.infrastructure.*
//import org.openapitools.server.api.model.*

val apiInstance = UserApi()
val username : kotlin.String = username_example // kotlin.String | name that need to be deleted
val user : User =  // User | Updated user object
try {
    apiInstance.updateUser(username, user)
} catch (e: ClientException) {
    println("4xx response calling UserApi#updateUser")
    e.printStackTrace()
} catch (e: ServerException) {
    println("5xx response calling UserApi#updateUser")
    e.printStackTrace()
}

Parameters

Name Type Description Notes
username kotlin.String name that need to be deleted
user User Updated user object

Return type

null (empty response body)

Authorization

api_key

HTTP request headers

  • Content-Type: MediaTypes.APPLICATION_JSON
  • Accept: Not defined