Kotlin Multiplatform Mobile, Ktor, Koin
Разбираюсь с kmm + ktor + koin, Вопрос в следующем: Насколько правильно описывать такие методы post и get. Хочу попытаться добиться приблеженной работы, как с retrofit, например, если я создаю метод в LoginApi(класс который отвечает за авторизацию), то мне просто надо описать что принимает метод, что возвращает и вызвать функцию post или get в ApiService (ApiService получаю с помощью Koin). Хороших примеров в сети не нашел, везде какие-то обрывки кода
class ApiService {
val httpClient = HttpClient {
defaultRequest {
url(ApiValues.baseUrl)
contentType(ContentType.Application.Json)
accept(ContentType.Application.Json)
}
install(ContentNegotiation) {
json()
}
}
suspend inline fun <reified T, reified R> post(requestBody: T, path: String): R =
httpClient.post {
url(path)
setBody(requestBody)
}.body()
suspend inline fun <reified R> get(parameters : Map<String,Any?>,path: String): R =
httpClient.get {
url(path)
parameters.map {
parameter(it.key,it.value)
}
}.body()
}