我创建了以下API类来查询Web服务
@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
,而网络服务工作正常。
我尝试了不同的技术来解决它,但似乎还有更多的东西。 请帮我解决这个问题。 感谢。
答案 0 :(得分: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))