Retrofit response 500 null message



你好,这是我的代码,为什么我不能得到像"值已经存在"?为什么在状态为500的响应中修改返回null消息?

call.enqueue(object : Callback<Person> {
override fun onResponse(call: Call<Person>, response: Response<Person>) {
if (!response.isSuccessful) {
Log.e(ContentValues.TAG, "Code: " + response.message())
Toast.makeText(context, response.toString(), Toast.LENGTH_LONG).show()
} else {
pr = response.body()!!
init(view)
}
}
override fun onFailure(call: Call<Person>, t: Throwable) {
Log.e(ContentValues.TAG, "fauilure " + t.message)
Toast.makeText(context, t.message, Toast.LENGTH_LONG).show()
}
}

这是我的响应从调试器(改装)

响应{protocol=http/1.1, code=500, message=, url=http://192.168.1.239:8080/person/}

这是我的服务器响应(来自邮递员)

{"timestamp"; "2021-02-21T12:50:35.222+00:00","status":500; "error"; "Internal Server error"; "message":"值已存在","path"; "/person/"}

您应该使用response.errorBody()方法而不是response.body()方法来获取错误消息

相关内容

  • 没有找到相关文章

最新更新