我是Android开发的新手,正在学习如何使用Retrofit
,并且很难处理来自服务器的不一致响应。
服务器将返回两种以上的响应。
我可以知道如何处理这种服务器响应吗? 我是否应该基于服务器响应创建其他数据类来处理它?</ p>
结果-成功
{
"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"
}
}
结果-失败
{
"status": false,
"code": null,
"result": "Server error."
}
结果-验证
{
"status": true,
"code": null,
"result": {
"email": [
"The email field is required."
],
"password": [
"The password field is required."
]
}
}
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?
)
答案 0 :(得分:0)
您可以多次使用“结果”键,具体取决于这样的响应状态
` @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>>?
`
并且根据您的“状态”键,您可以通过设置条件从正确的“结果”键中获取正确的值。