2013-07-05 2 views
0

Мне сложно понять, как получить информацию на страницах, а не как целое. В моем текущем приложении есть база данных, сервер/служба и клиентское приложение с интерфейсом 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

но не понял, как правильно его реализовать.

Любая помощь приветствуется.

Спасибо

ответ

1

ordheadRepository.findAll(page1) возвращает Page<Ordhead>, который содержит всю необходимую информацию вместе с содержимым страницы.

+0

У меня не было возможности проверить его (на самом деле запустить код), но просто посмотрев на javadoc и изменив мою строку на «Страница page = new PageRequest (...)» - кажется, дайте мне все методы, необходимые для получения функциональности. Благодаря! –

Смежные вопросы