Код ошибки 415 с модификацией - PullRequest
0 голосов
/ 27 апреля 2018

Я создал следующий класс 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 Ответ

0 голосов
/ 28 апреля 2018

Чтобы отправить полезную нагрузку 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))
...