问题描述
suspend fun logout(token: String): NetworkResult<Unit> {
return try{
val logoutResponse = service.logout("Token $token")
NetworkResult.Success(logoutResponse)
}catch(e:Throwable){
NetworkResult.Error(null) // <-- after a successful logout,we proceeed with this line WHY ?
}
}
包含端点的 API 接口包含以下内容:
@POST("logout")
suspend fun logout(@Header("Authorization") token: String)
在服务器端,我使用 django-rest-knox 作为 3rd 方库进行身份验证。该库的注销端点有一个内置的 logoutView,它在成功注销后返回“204 no content”响应。该文档建议不要更改 logoutView,因为修改会导致不可预测的结果。 但是尽管服务器端的注销请求成功,但 Retrofit 将“204 no content”响应视为异常。正如我在上面的代码片段中提到的,catch 子句被执行。
现在我的问题是:当请求成功时,为什么 Retrofit 会抛出异常?如何处理“204无内容”响应?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)