Android - 使用改造和协程获取响应状态代码
Posted
技术标签:
【中文标题】Android - 使用改造和协程获取响应状态代码【英文标题】:Android - get response status code using retrofit and coroutines 【发布时间】:2021-07-11 16:51:02 【问题描述】:我有改造服务:
suspend fun getArticles(): Articles
如果出现错误,通常我可以在try/catch
中获得响应代码。
try
val articles = service.getArticles()
catch (e: Exception)
// I can get only codes different from 200...
但是,如果我需要区分 200 和 202 代码,而我的服务只返回数据对象,该怎么办?
响应成功后如何获取响应码?
【问题讨论】:
【参考方案1】:你的界面应该是这样的
suspend fun getArticles(): Response<Articles>
那你就这样用
val response = service.getArticles()
response.code() //gives you response code
val articles = response.body
或更简单的解决方案是
if (response.isSuccessful) // Successful is any code between the range [200..300)
val articles = response.body
【讨论】:
但如果我不使用 Response 只有文章? @Fortran 你需要使用Response<Articles>
才能知道以上是关于Android - 使用改造和协程获取响应状态代码的主要内容,如果未能解决你的问题,请参考以下文章