[英]retrofit - kotlin - Parameter specified as non-null is null
我在我的應用程序中使用 mvvm 、 kotlin 、改造和 Courtin 。 我已經完成了幾個請求,並且所有請求都可以正常工作,但是在這個請求中,我收到此錯誤“指定為非空的參數為空:方法 kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,參數列表”
這是我的json
{
"roomslist": [
{
"id": "1"
}
]
}
這些是我的模型
data class RoomsListModel(
@Json(name = "roomslist")
val roomsList: List<Rooms>
)
data class Rooms(
@Json(name = "id")
val id: String
}
這是我的 api 接口:
@FormUrlEncoded
@POST("getPlaceRooms.php")
fun getPlaceRooms2(@Field("amlakid")id:String):Deferred<RoomsListModel>
這是我的存儲庫:
fun getRooms(
amlakId: String
): MutableLiveData<RoomsListModel> {
scope.launch {
val request = api.getPlaceRooms2(amlakId)
withContext(Dispatchers.Main) {
try {
val response = request.await()
roomsLiveData.value = response
} catch (e: HttpException) {
Log.v("this", e.message);
} catch (e: Throwable) {
Log.v("this", e.message);
}
}
}
return roomsLiveData;
}
當應用程序運行時,它進入 e: Throwable 並返回錯誤
我的視圖模型
class PlacesDetailsViewModel : ViewModel() {
private val repository = PlaceDetailsRepository()
fun getRooms(amlakId: String):MutableLiveData<RoomsListModel> {
return repository.getRooms(amlakId)
}
}
這是我的活動請求:
viewModel.getRooms(amlakId).observe(this, Observer {
vf.frm_loading.visibility = View.GONE
it?.let {
adapter.updateList(it?.roomsList)
setNoItem(false)
}
})
我正在使用 moshi
我試圖清理,重建,但它沒有任何不同
你可以幫幫我嗎 ? 我的代碼出了什么問題?
您應該嘗試添加 ? 到您的模型參數。 不確定在您的情況下是否是字符串?。 它將確保您的字符串上可以有空值
val id: String?
請仔細檢查,在您的情況下,任何值丟失或為空
您是否嘗試在val id: String
聲明中刪除@Json
注釋?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.