【发布时间】:2018-04-27 14:10:23
【问题描述】:
我创建了以下 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,而网络服务工作正常。
我尝试了不同的技术来解决它,但似乎还有更多问题。 请帮我解决这个问题。 谢谢。
【问题讨论】:
-
应该是
"v1/User/forgot-password"和baseUrl("blahblah/"),重点是第一个缺少/,第二个没有 -
415 通常意味着您以错误的格式发送数据。您确定该服务期望数据为
application/x-www-form-urlencoded而不是其他格式(JSON、url 中的查询参数等)? -
@EpicPandaForce 它没有任何区别
-
@iagreen 是的,它是 application/json
-
但我仍然收到 400
HttpLoggingInterceptor没有显示任何内容
标签: kotlin retrofit mvp android-mvp