Вот моя функция :
Код: Выделить всё
suspend fun login(email: String, password: String): String {
val res = withContext(Dispatchers.IO) {
val client = OkHttpClient.Builder()
.addNetworkInterceptor(LoggingInterceptor())
.build()
val headers = Headers.Builder()
.add("Content-Type", "application/json")
.build()
val body = "{\"username\":\"correct_username\",\"password\":\"correct_password\"}"
.toRequestBody("application/json; charset=utf-8".toMediaTypeOrNull())
val request = Request.Builder()
.url("correct_url") // Replace with your API endpoint
.headers(headers)
.post(
body
)
.build()
val response = client.newCall(request).execute()
if (response.body != null) {
val authResponse =
Gson().fromJson(response.body!!.string(), AuthResponse::class.java)
"login"
} else {
"no login";
}
}
return res
}
Теперь я знаю, что учетные данные, которые я кодирую, верны, что заставляет меня полагать, что может быть проблема с OkHttp сам по себе или с моей настройкой его функций.
Еще одна полезная информация о моей проблеме заключается в том, что я добавил перехватчик в свой клиент OkHttp для регистрации запросов и ответов, и в нем говорится: мне кажется, что тело запроса:

Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-okhttp