Ktor 客户端:使用代码 200 处理错误
Posted
技术标签:
【中文标题】Ktor 客户端:使用代码 200 处理错误【英文标题】:Ktor client: Processing errors with code 200 【发布时间】:2020-10-20 19:30:53 【问题描述】:我们的服务器使用代码 200 和以下正文响应业务错误:
"success": false,
"error_code": 1,
"error_text": "Error message"
如何在响应中检测到此主体并为其抛出异常?
【问题讨论】:
【参考方案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() 抛出错误“响应已收到”以上是关于Ktor 客户端:使用代码 200 处理错误的主要内容,如果未能解决你的问题,请参考以下文章