【发布时间】:2021-12-21 01:23:37
【问题描述】:
这是我的代码
interface ApiService {
@POST("sms-otp/request")
suspend fun loginTest(@Body testRequest: TestRequest): Response<TestResponse>
}
data class TestResponse(
@SerializedName("otp")
@Expose
var otp : String? = null,
@Expose
@SerializedName("otpId")
var otpId: Int? = null
)
逻辑-
loginRepository.loginTest(testRequest.phoneNumber!!).let {
if (it.isSuccessful) {
_res.postValue(Resource.success(it.body()))
Log.d("_res", it.body().toString())
Log.d("_res" , _res.value.toString())
Log.d("_res", _res.value?.data.toString())
} else {
_res.postValue(Resource.error(it.errorBody().toString(), null))
}
}
这是我的日志,我认为响应代码是 201,可能成功但我的模型中没有数据...请帮助我
【问题讨论】:
-
节点“otp”和“otpId”不属于根JSON节点,它们被放置在“数据”中。因此,
TestResponse类应该有一个名为data的字段,其中包含嵌套字段otp和otpId。
标签: android kotlin mvvm retrofit android-livedata