Я использую Retrofit lib для получения объектов из службы поддержки JSON Api. Я реализовал простой запрос и эхо в PHP.Retrofit manage Список объектов нет объектов JSON
Это JSON я обычно использую для создания объектов в моем Android APP:
[
{
"event_id":"1",
"event_name":"Lungo il tevere",
"event_image_url":"https:\/\/www.dayroma.it\/wp-content\/uploads\/2016\/06\/event_fb-9400.jpg",
"event_content":"Lungo il Tevere Roma 2016, bancarelle sulle banchine del Tevere",
"event_owner":"1",
"event_start_time":"22:00:00",
"event_end_time":"03:00:00",
"event_all_day":"0",
"event_start_date":"2016-07-05",
"event_end_date":"2016-07-06",
"location_name":"Lungotevere",
"location_owner":"1",
"location_address":"Piazza Navona 2",
"location_town":"Roma",
"location_state":null,
"location_postcode":null,
"location_region":null,
"location_country":"IT",
"location_latitude":"41.897785",
"location_longitude":"12.472971"
},
{
"event_id":"3",
"event_name":"Black Mountain + Soviet Soviet",
"event_image_url":"https:\/\/www.dayroma.it\/wp-content\/uploads\/2016\/04\/timthumb.jpeg",
"event_content":"Affrontare la psichedelia granitica dei Black Mountain",
"event_owner":"1",
"event_start_time":"20:00:00",
"event_end_time":"00:00:00",
"event_all_day":"0",
"event_start_date":"2016-07-05",
"event_end_date":"2016-07-06",
"location_name":"Villa Ada",
"location_owner":"1",
"location_address":"Villa Ada ",
"location_town":"Roma",
"location_state":null,
"location_postcode":null,
"location_region":null,
"location_country":"IT",
"location_latitude":"41.932831",
"location_longitude":"12.501247"
},
{
"event_id":"7",
"event_name":"test 4",
"event_image_url":"",
"event_content":"05test 4",
"event_owner":"1",
"event_start_time":"01:00:00",
"event_end_time":"05:00:00",
"event_all_day":"0",
"event_start_date":"2016-07-06",
"event_end_date":"2016-07-06",
"location_name":"Villa Ada",
"location_owner":"1",
"location_address":"Villa Ada ",
"location_town":"Roma",
"location_state":null,
"location_postcode":null,
"location_region":null,
"location_country":"IT",
"location_latitude":"41.932831",
"location_longitude":"12.501247"
}
]
мне нужно управлять ошибок и JSON, как это, если список объектов пуст:
[
{
"status":"0",
"message":"No Event"
}
]
Для в реализации я использовал это https://futurestud.io/blog/retrofit-getting-started-and-android-client
На данный момент, если нет событий (объектная модель), я извлекаю код ответа 200 и на json. Как я могу управлять этим сценарием? Я должен изменить Api Rest Response, чтобы дать мне 404 или 400, а затем управлять ошибкой?
К сожалению SaravInfern, я делаю что путь, но когда я получаю сообщение json «сообщение»: функция «No Event» onResponse в порядке, и я получаю список событий только с одним объектом со всем полем null ... Все, потому что код ответа 200, даже если нет событий ... Я пытался чтобы изменить код ответа, но ничего ... Я использую json api plugin wordpress и настраиваемый контроллер ... Знаете ли вы, как я могу создать пользовательский апи-отдых? – dayroma
Я не могу понять, пожалуйста, будь ясным, в чем проблема, с которой вы сталкиваетесь? вы отлаживали звонок с точкой останова ?? – SaravInfern
Если я получаю json с «Нет событий», в обратном вызове onReponse создается список событий с одним элементом со всем нулевым значением поля, это вызывает точку останова nullPoint. Мне нужно переключить ответ 200 в onResponse, если json заполнен элементами или нет, в обоих случаях мой api rest получает ответ 200: если есть элементы, arraylist объектов заполняется коррелятом, если нет, то у arraylist есть только элемент с null поле, это очень расстраивает. – dayroma