首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自服务器的Retrofit2不一致性响应

来自服务器的Retrofit2不一致性响应
EN

Stack Overflow用户
提问于 2018-07-13 16:07:00
回答 1查看 183关注 0票数 1

我是Android开发和学习如何使用Retrofit的新手,我很难处理来自服务器的不一致响应。

有两种以上的响应将从服务器返回。

我可以知道如何处理这种服务器响应吗?我应该创建不同的数据类来根据服务器响应来处理它吗?

服务器响应

结果-成功

代码语言:javascript
运行
复制
{
    "status": true,
    "code": null,
    "result": {
        "id": 1,
        "name": "User",
        "email": "user@gmail.com",
        "created_at": "2018-07-12 15:25:42",
        "updated_at": "2018-07-12 15:25:42"
    }
}

结果-失败

代码语言:javascript
运行
复制
{
    "status": false,
    "code": null,
    "result": "Server error."
}

结果-验证

代码语言:javascript
运行
复制
{
    "status": true,
    "code": null,
    "result": {
        "email": [
            "The email field is required."
        ],
        "password": [
            "The password field is required."
        ]
    }
}

安卓

消息模型

代码语言:javascript
运行
复制
import com.squareup.moshi.Json

data class Errors (
        @Json(name = "status") val status: Boolean?,
        @Json(name = "code") val code: Int?,
        @Json(name = "result") val message: Objects?
)
EN

回答 1

Stack Overflow用户

发布于 2018-07-13 18:11:59

您可以使用“结果”键多次依赖于响应状态,如下所示

代码语言:javascript
运行
复制
`       @Json(name = "status") val status: Boolean?,
        @Json(name = "code") val code: Int?,
        @Json(name = "result") val message: String?,
        @Json(name = "result") val result: ResultObject?,
        @Json(name = "result") val validation: HashMap<String,List<String>>?
`

取决于您的“状态”键,您可以通过创建一个条件从正确的“结果”键中获得正确的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51329063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档