我正在使用改造来管理我的远程 api 调用
api "com.squareup.retrofit2:retrofit:2.9.0"
api "com.squareup.retrofit2:converter-scalars:2.9.0"
api 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.5'
api 'com.squareup.okhttp3:okhttp:5.0.0-alpha.5'
其中一个调用会下载大型 pdf 文件,如此处所示
@Streaming
@GET
suspend fun download(
@HeaderMap headers: Map<String, String> = emptyMap(),
@Url url: String
): ResponseBody
这一切正常,直到我遇到任何 HTTP 错误(例如 404),我必须将我的代码包装在 try catch 块中并且接收到关于异常的非常少的信息
ResponseBody
在我的改造调用中用作返回类型时如何检测错误?
我用来ResponseBody
支持流式传输文件,从而提高我的整体下载性能。