【问题标题】:Retrofit response 500 null message改造响应 500 空消息
【发布时间】:2021-02-21 13:29:27
【问题描述】:

您好,这是我的代码,为什么我无法收到“值已存在”之类的消息? 为什么改造返回 null 消息以响应状态 500?

    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":"值已经存在","路径":"/person/"}

【问题讨论】:

    标签: java android kotlin retrofit2 retrofit2.6


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2018-05-16
      • 1970-01-01
      • 2018-11-04
      • 2017-11-03
      • 2016-02-18
      • 2020-07-23
      • 2018-09-10
      • 2017-01-15
      • 2019-06-20
      相关资源
      最近更新 更多