Код ошибки 415 с модификацией
Я создал следующий класс API для запроса веб-службы
@POST("/v1/User/forgot-password")
@FormUrlEncoded
fun forgotPass(@Field("email") email: String): Call<ForgotPassword>
и назвал это
val call = RetrofitHelper.instance!!.api.forgotPass(email)
call.enqueue(object : Callback<ForgotPassword> {
override fun onResponse(call: Call<ForgotPassword>, response: Response<ForgotPassword>) {
if (response.code() == 200) {
Log.e("response", response.body().toString())
forgotPassView.forgotPassRequestSuccess()
}
}
override fun onFailure(call: Call<ForgotPassword>, t: Throwable) {
Log.e("onFailure", t.message)
}
})
Ответ, который я получаю, 415
В то время как веб-сервисы работают нормально.
Я пробовал разные методы, чтобы решить эту проблему, но, похоже, в этом есть что-то большее. Пожалуйста, помогите мне решить эту проблему. Благодарю.
1 ответ
Решение
Чтобы отправить полезную нагрузку json, определите класс оболочки -
data class EmailBody(val email: String)
и использовать это как @Body
для тебя POST
@POST("v1/User/forgot-password")
fun forgotPass(@Body email: EmailBody): Call<Void>
Затем, когда вы хотите позвонить, оберните адрес электронной почты в EmailBody
объект -
service.forgotPass(EmailBody(email))