【问题标题】:Ktor client: Processing errors with code 200Ktor 客户端:使用代码 200 处理错误
【发布时间】:2020-10-20 19:30:53
【问题描述】:

我们的服务器使用代码 200 和以下正文响应业务错误:

{
    "success": false,
    "error_code": 1,
    "error_text": "Error message"
}

如何在响应中检测到此主体并为其抛出异常?

【问题讨论】:

    标签: android kotlin multiplatform ktor


    【解决方案1】:

    您可以为此使用HttpResponseValidator 功能:https://ktor.io/clients/http-client/features/response-validation.html

    类似的东西:

    HttpResponseValidator {
        validateResponse { response ->
           val body = // ...
           check(body.success)
        }
    }
    

    【讨论】:

    • 是的,我知道验证器,但是我在从响应中获取正文时遇到了问题,我用 Json.parseJson(String(response.readBytes())) 解决了这个问题,但也谢谢你,由于某种原因 response.conent.getText() 抛出错误“响应已收到”
    猜你喜欢
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2021-01-27
    相关资源
    最近更新 更多