Мне сложно понять, как получить информацию на страницах, а не как целое. В моем текущем приложении есть база данных, сервер/служба и клиентское приложение с интерфейсом GUI.Визитная карточка Springdata в серверно-клиентском приложении
Бэкэнд (услуга) выглядит следующим образом:
IOrdheadService.java
public interface IOrdheadService {
@GET
@Path("/ordheads")
@Produces("application/json")
List<Ordhead> getOrdheadList();
@GET
@Path("/ordhead/{id}")
@Produces("application/json")
Ordhead getOrdhead(@PathParam("id") String id);
OrdheadService.java
@Service
@Path("ordheadservice")
public class OrdheadService implements IOrdheadService {
@Autowired
private OrdheadRepository ordheadRepository;
@Autowired
private IPrimaryKeyGenerator primaryKeyGenerator;
@Override
public List<Ordhead> getOrdheadList() {
return ordheadRepository.findAll();
}
@Override
public Ordhead getOrdhead(@QueryParam("id") String id) {
return ordheadRepository.findByPrimaryKey(id);
}
OrdheadRepository.java
public interface OrdheadRepository extends JpaRepository<Ordhead, String> {
Ordhead findByPrimaryKey(String id);
}
и ТЬ e получает такую информацию:
private List<Ordhead> resultList;
resultList = client.getOrdheadList();
И затем я перебираю результат списка используя | < < < >>> | кнопок на экране.
Попытка повторить эту функциональность со страницами, я попытался следующие в моей OrdheadService
PageRequest page1 = new PageRequest(
0, 20, Direction.ASC, "primaryKey");
Pageable p = new PageRequest(0, 20);
return ordheadRepository.findAll(page1).getContent();
Который работает - возвращает первые 20 результатов. Тем не менее, мне нужно, чтобы клиент знал, сколько страниц есть. Таким образом, если есть 40 записей и клиент на запись 20, при нажатии на кнопку >> получите следующие 20 записей и перемещения клиента для записи 21.
Я попытался прочитать следующие ссылки:
https://github.com/SpringSource/spring-data-rest/wiki/Paging-and-Sorting http://blog.fawnanddoug.com/2012/05/pagination-with-spring-mvc-spring-data.html
но не понял, как правильно его реализовать.
Любая помощь приветствуется.
Спасибо
У меня не было возможности проверить его (на самом деле запустить код), но просто посмотрев на javadoc и изменив мою строку на «Страница page = new PageRequest (...)» - кажется, дайте мне все методы, необходимые для получения функциональности. Благодаря! –