Я пытаюсь реализовать вход пользователя в Android с помощью Kotlin. В бэкэнде работает Django. API создается в RestFramework. API работает нормально при тестировании в браузере. Но когда та же самая конечная точка проверяется с помощью Android, она возвращает код состояния 415. Следующее:
Ответ {протокол = http / 1.1, код = 415, сообщение = неподдерживаемый тип носителя,
URL = http://endpoint/login/}
Следующая функция post
fun post(){
val loginCredentials = UserModel("sampleuser","password")
val gson = GsonBuilder().create()
val payload=gson.toJson(loginCredentials)
val okHttpClient = OkHttpClient()
val requestBody = payload.toRequestBody()
val request = Request.Builder()
.method("POST", requestBody)
.url("http://endpoint/login/")
.build()
request.headers("Content-Type:'application/json'")
okHttpClient.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: IOException) {
Log.e("Responed tO Post",e.message)
}
override fun onResponse(call: Call, response: Response) {
val body = response?.body?.string()
val user = gson.fromJson(body,UserModel::class.java)
Log.e("res body user",user.username.toString())
}
})