Пишу небольшой простенький REST сервис,данные с которого получает desktop интерфейс
Он по запросу берет некоторые данные в базе и возвращает их в json
Возник вопрос как правильно реализовать выборку информации за определенный период ?
Есть 2 варианта - один мой,второй который мне предложили.
Мой вариант - устанавливая период ,к примеру с 1 по 10 число, десктопный интерфейс сам поочереди запросит данные за 1,за 2 ,за 3 и так далее числа а потом выведет информацию.
Из минусов - имея период в тысячу дней будет 1000 запросов на выборку каждой записи.
Зато API имеет простой вид: service.address/statistic/{date}
И второй вариант - мы отправляем сервису дату начала,дату конца и номер страницы
Даты - для того что бы обозначить период,за который мы будем выборку данных делать и номер страницы,что бы "дробить" передаваемые данные,с целью экономить трафик и порционно загружать данные.
При этом,так как Rest-сервис не может сохранять состояние между запросами, при выборке каждой страницы нам придется выбирать данные за весь период,дробить на страницы (к примеру 1000 записей,делим по 100 и отдаем их. Итого 10 запросов к бд на выборку 1000 записей) и уже от номера страницы отдавать часть данных
Итого получаем
service.address/statistic/{beg_date}/{end_date}/ - возвращает количество страниц
service.address/statistic/{beg_date}/{end_date}/{page_num} - возвращает пачечку данных.
И вот...Что правильнее ?
Или,может,есть третий более правильный вариант ?