Не часто работал с Retrofit
-м, поэтому еще плохо знаю все. Недавно добавил в бекенд пагинацию и следовательно в клиентов изменился json
ответ.
{
"content":[
{
"id":1,
"date":1549549535,
"recipeTitle":"testMP"
}
],
"last":true,
"totalElements":4,
"totalPages":1,
"sort":[
{
"direction":"DESC",
"property":"id",
"ignoreCase":false,
"nullHandling":"NATIVE",
"ascending":false,
"descending":true
}
],
"first":true,
"numberOfElements":4,
"size":100,
"number":0
}
Следовательно пытаюсь получить содержимое сontent
.
Интерфейс с запросами:
interface ReportService {
companion object {
operator fun invoke() : ReportService{
val httpClient = OkHttpClient.Builder().addInterceptor(HttpLoggingInterceptor().apply {
HttpLoggingInterceptor.Level.BODY
}).build()
val retrofit = Retrofit.Builder()
.baseUrl("http://*****")
.addCallAdapterFactory(CoroutineCallAdapterFactory())
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient)
.build()
return retrofit.create(ReportService::class.java)
}
}
@GET("reports")
fun getReports(@Query("page") page : Int) : Deferred<List<Report>>
@GET("reports/{id}")
fun getReport(@Path("id") id : Long) : Deferred<Report>
}
Функция загрузки результата в репозитории:
fun getReportsList() : List<Report>? {
var reportList : List<Report> = listOf()
try {
runBlocking {
async {
val request : List<Report> = ReportService.invoke().getReports(0).await()
reportList = request
}.await()
}
}catch (e : Exception){
e.printStackTrace()
}
return reportList
}
Как взять вложеный массив content
?Нужно писать свою реализацию TypeAdapter<>
для gson
-а?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть куча координат в таком виде: ((759007919, 114
Я не знаю почему, но вк не работает для Security 5
Начал не так давно изучать язык JAVAПросматривая разные туториалы и примеры программ, неоднократно сталкиваюсь с непонятными для меня конструкциями