forked from loafle/openapi-generator-original
[kotlin-client][multiplatform] HttpClient can now be passed as an argument to ApiClient (#16343)
* [kotli-client][multiplatform] Added to inject HttpClient into the argument of ApiClient * [kotlin-client][multiplatform] update generated samples
This commit is contained in:
parent
ff19825610
commit
141b3d4e0b
@ -5,6 +5,7 @@ package {{apiPackage}}
|
||||
{{/imports}}
|
||||
|
||||
import {{packageName}}.infrastructure.*
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
@ -15,12 +16,19 @@ import kotlinx.serialization.descriptors.*
|
||||
import kotlinx.serialization.encoding.*
|
||||
|
||||
{{#operations}}
|
||||
{{#nonPublicApi}}internal {{/nonPublicApi}}open class {{classname}}(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
{{#nonPublicApi}}internal {{/nonPublicApi}}open class {{classname}} : ApiClient {
|
||||
|
||||
constructor(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : super(baseUrl = baseUrl, httpClientEngine = httpClientEngine, httpClientConfig = httpClientConfig, jsonBlock = jsonSerializer)
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): super(baseUrl = baseUrl, httpClient = httpClient)
|
||||
|
||||
{{#operation}}
|
||||
{{#allParams}}
|
||||
|
@ -19,21 +19,32 @@ import kotlinx.serialization.json.Json
|
||||
import {{packageName}}.auth.*
|
||||
|
||||
{{#nonPublicApi}}internal {{/nonPublicApi}}open class ApiClient(
|
||||
private val baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
private val jsonBlock: Json
|
||||
private val baseUrl: String
|
||||
) {
|
||||
|
||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
private lateinit var client: HttpClient
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonBlock: Json,
|
||||
) : this(baseUrl = baseUrl) {
|
||||
val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
}
|
||||
}
|
||||
|
||||
client = httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
}
|
||||
|
||||
private val client: HttpClient by lazy {
|
||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): this(baseUrl = baseUrl) {
|
||||
this.client = httpClient
|
||||
}
|
||||
|
||||
{{#hasAuthMethods}}
|
||||
|
@ -17,6 +17,7 @@ package org.openapitools.client.apis
|
||||
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
@ -26,12 +27,19 @@ import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.*
|
||||
import kotlinx.serialization.encoding.*
|
||||
|
||||
open class DefaultApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
open class DefaultApi : ApiClient {
|
||||
|
||||
constructor(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : super(baseUrl = baseUrl, httpClientEngine = httpClientEngine, httpClientConfig = httpClientConfig, jsonBlock = jsonSerializer)
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): super(baseUrl = baseUrl, httpClient = httpClient)
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -19,21 +19,32 @@ import kotlinx.serialization.json.Json
|
||||
import org.openapitools.client.auth.*
|
||||
|
||||
open class ApiClient(
|
||||
private val baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
private val jsonBlock: Json
|
||||
private val baseUrl: String
|
||||
) {
|
||||
|
||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
private lateinit var client: HttpClient
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonBlock: Json,
|
||||
) : this(baseUrl = baseUrl) {
|
||||
val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
}
|
||||
}
|
||||
|
||||
client = httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
}
|
||||
|
||||
private val client: HttpClient by lazy {
|
||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): this(baseUrl = baseUrl) {
|
||||
this.client = httpClient
|
||||
}
|
||||
|
||||
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
||||
|
@ -18,6 +18,7 @@ package org.openapitools.client.apis
|
||||
import org.openapitools.client.models.Apa
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
@ -27,12 +28,19 @@ import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.*
|
||||
import kotlinx.serialization.encoding.*
|
||||
|
||||
open class DefaultApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
open class DefaultApi : ApiClient {
|
||||
|
||||
constructor(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : super(baseUrl = baseUrl, httpClientEngine = httpClientEngine, httpClientConfig = httpClientConfig, jsonBlock = jsonSerializer)
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): super(baseUrl = baseUrl, httpClient = httpClient)
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -19,21 +19,32 @@ import kotlinx.serialization.json.Json
|
||||
import org.openapitools.client.auth.*
|
||||
|
||||
open class ApiClient(
|
||||
private val baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
private val jsonBlock: Json
|
||||
private val baseUrl: String
|
||||
) {
|
||||
|
||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
private lateinit var client: HttpClient
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonBlock: Json,
|
||||
) : this(baseUrl = baseUrl) {
|
||||
val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
}
|
||||
}
|
||||
|
||||
client = httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
}
|
||||
|
||||
private val client: HttpClient by lazy {
|
||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): this(baseUrl = baseUrl) {
|
||||
this.client = httpClient
|
||||
}
|
||||
|
||||
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
||||
|
0
samples/client/petstore/kotlin-default-values-multiplatform/gradlew
vendored
Normal file → Executable file
0
samples/client/petstore/kotlin-default-values-multiplatform/gradlew
vendored
Normal file → Executable file
@ -17,6 +17,7 @@ package org.openapitools.client.apis
|
||||
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
@ -26,12 +27,19 @@ import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.*
|
||||
import kotlinx.serialization.encoding.*
|
||||
|
||||
open class DefaultApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
open class DefaultApi : ApiClient {
|
||||
|
||||
constructor(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : super(baseUrl = baseUrl, httpClientEngine = httpClientEngine, httpClientConfig = httpClientConfig, jsonBlock = jsonSerializer)
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): super(baseUrl = baseUrl, httpClient = httpClient)
|
||||
|
||||
/**
|
||||
* Tests default values
|
||||
|
@ -19,21 +19,32 @@ import kotlinx.serialization.json.Json
|
||||
import org.openapitools.client.auth.*
|
||||
|
||||
open class ApiClient(
|
||||
private val baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
private val jsonBlock: Json
|
||||
private val baseUrl: String
|
||||
) {
|
||||
|
||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
private lateinit var client: HttpClient
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonBlock: Json,
|
||||
) : this(baseUrl = baseUrl) {
|
||||
val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
}
|
||||
}
|
||||
|
||||
client = httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
}
|
||||
|
||||
private val client: HttpClient by lazy {
|
||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): this(baseUrl = baseUrl) {
|
||||
this.client = httpClient
|
||||
}
|
||||
|
||||
private val authentications: kotlin.collections.Map<String, Authentication>? = null
|
||||
|
@ -19,6 +19,7 @@ import org.openapitools.client.models.ModelApiResponse
|
||||
import org.openapitools.client.models.Pet
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
@ -28,12 +29,19 @@ import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.*
|
||||
import kotlinx.serialization.encoding.*
|
||||
|
||||
open class PetApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
open class PetApi : ApiClient {
|
||||
|
||||
constructor(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : super(baseUrl = baseUrl, httpClientEngine = httpClientEngine, httpClientConfig = httpClientConfig, jsonBlock = jsonSerializer)
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): super(baseUrl = baseUrl, httpClient = httpClient)
|
||||
|
||||
/**
|
||||
* Add a new pet to the store
|
||||
|
@ -18,6 +18,7 @@ package org.openapitools.client.apis
|
||||
import org.openapitools.client.models.Order
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
@ -27,12 +28,19 @@ import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.*
|
||||
import kotlinx.serialization.encoding.*
|
||||
|
||||
open class StoreApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
open class StoreApi : ApiClient {
|
||||
|
||||
constructor(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : super(baseUrl = baseUrl, httpClientEngine = httpClientEngine, httpClientConfig = httpClientConfig, jsonBlock = jsonSerializer)
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): super(baseUrl = baseUrl, httpClient = httpClient)
|
||||
|
||||
/**
|
||||
* Delete purchase order by ID
|
||||
|
@ -18,6 +18,7 @@ package org.openapitools.client.apis
|
||||
import org.openapitools.client.models.User
|
||||
|
||||
import org.openapitools.client.infrastructure.*
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.HttpClientConfig
|
||||
import io.ktor.client.request.forms.formData
|
||||
import io.ktor.client.engine.HttpClientEngine
|
||||
@ -27,12 +28,19 @@ import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.*
|
||||
import kotlinx.serialization.encoding.*
|
||||
|
||||
open class UserApi(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : ApiClient(baseUrl, httpClientEngine, httpClientConfig, jsonSerializer) {
|
||||
open class UserApi : ApiClient {
|
||||
|
||||
constructor(
|
||||
baseUrl: String = ApiClient.BASE_URL,
|
||||
httpClientEngine: HttpClientEngine? = null,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonSerializer: Json = ApiClient.JSON_DEFAULT
|
||||
) : super(baseUrl = baseUrl, httpClientEngine = httpClientEngine, httpClientConfig = httpClientConfig, jsonBlock = jsonSerializer)
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): super(baseUrl = baseUrl, httpClient = httpClient)
|
||||
|
||||
/**
|
||||
* Create user
|
||||
|
@ -19,21 +19,32 @@ import kotlinx.serialization.json.Json
|
||||
import org.openapitools.client.auth.*
|
||||
|
||||
open class ApiClient(
|
||||
private val baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
private val jsonBlock: Json
|
||||
private val baseUrl: String
|
||||
) {
|
||||
|
||||
private val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
private lateinit var client: HttpClient
|
||||
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClientEngine: HttpClientEngine?,
|
||||
httpClientConfig: ((HttpClientConfig<*>) -> Unit)? = null,
|
||||
jsonBlock: Json,
|
||||
) : this(baseUrl = baseUrl) {
|
||||
val clientConfig: (HttpClientConfig<*>) -> Unit by lazy {
|
||||
{
|
||||
it.install(ContentNegotiation) { json(jsonBlock) }
|
||||
httpClientConfig?.invoke(it)
|
||||
}
|
||||
}
|
||||
|
||||
client = httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
}
|
||||
|
||||
private val client: HttpClient by lazy {
|
||||
httpClientEngine?.let { HttpClient(it, clientConfig) } ?: HttpClient(clientConfig)
|
||||
constructor(
|
||||
baseUrl: String,
|
||||
httpClient: HttpClient
|
||||
): this(baseUrl = baseUrl) {
|
||||
this.client = httpClient
|
||||
}
|
||||
|
||||
private val authentications: kotlin.collections.Map<String, Authentication> by lazy {
|
||||
|
Loading…
x
Reference in New Issue
Block a user