改装-on非空车身故障,on空车身响应



我的GET请求在Android Studio中无法正常工作。我试着把同样的请求放在Postman中,结果我总是得到带有正确正文的响应代码200。然而,当响应正文为空(没有数据(时,使用"改装"I会得到onResponse(200代码(,当响应主体不为空(有一些保留(时,会得到onFailure。

编辑:我刚刚在日志中注意到这样的错误:Expected BEGIN_OBJECT but was STRING at line 1 column 22 path $[0].reservationDate

EDIT2:JSON响应

[
{
"reservationDate": "2019-10-30",
"id": "4"
}
]

API服务:

@Headers("Authorization: Bearer ...")
@GET("reservations")
fun getSchedule(@Query("id") id: Int,
@Query("reservationDate") reservationDate: LocalDate
):  Call<List<ScheduleModel>>

companion object {
fun create(): ScheduleService{
var retrofit = Retrofit.Builder()
.baseUrl("myUrl")
.addConverterFactory(GsonConverterFactory.create())
.build()
return retrofit.create(ScheduleService::class.java)
}
}
}
data class ScheduleModel(
val id: Int,
val reservationDate: LocalDate
)
fun getReservations() {
var service = ScheduleService.create()
var localdate = LocalDate.of(2019,10,30)
var call = service.getSchedule(4, localdate)
call.enqueue(object : Callback<List<ScheduleModel>> {
override fun onResponse(call: Call<List<ScheduleModel>>, response: Response<List<ScheduleModel>>) {
if (response.code() == 200) {
Toast.makeText(applicationContext, "It's ok", Toast.LENGTH_SHORT).show()
}
}
override fun onFailure(call: Call<List<ScheduleModel>>, t: Throwable) {
Toast.makeText(applicationContext, "Failure", Toast.LENGTH_SHORT).show()
}
})
}

响应中的idreservationDateString,但您尝试将其解析为IntLocalDate。改变类型,就会奏效。

最新更新