Ktor 客户端:处理错误代码 200

Ktor client: Processing errors with code 200

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

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

如何在响应中检测到这个正文并为其抛出异常?

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

类似的东西:

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