【发布时间】:2018-06-11 09:31:43
【问题描述】:
我有 REST api,它根据同一路径上的当前状态做出响应。让我们假设 /api/users 以
{
"status":200,
"error":false,
"users":["a","b"]
}
如果用户被授权。
否则,如果用户没有被授权,它会回复{"status":403,"error":true,"redirect":"url"}。使用 Retrofit 为 api 调用定义接口时,它需要响应对象的确切类型。
例如:
@GET("users")
Call<List<User>> getUsers()
但是这里的 API 服务器响应不同形状的对象。这种情况如何处理?
【问题讨论】:
-
创建一个由成功响应类和失败响应类扩展的基类。在 API 接口中使用基类。当实际响应到来时,检查错误代码并进行相应的解析。
标签: java android rest retrofit2