我正在实现一个正常工作的API,但是当我使用pagitation时,这不会返回任何内容。
我有我的存储库的下一个代码:
public interface VinetaRepository extends JpaRepository<Vineta, Long> {
List<Vineta> findAllByOrderByCreationdateDesc();
List<Vineta> findByTitulo(String titulo);}
并且,当我使用下一个RequestMapping everthings时可以:
@JsonView(VinetaView.class)
@RequestMapping("/api/vinetas2/")
public List<Vineta> getvinetas2(){
return this.vinetarepository.findAll();
}
但是,当我使用分页时,我的api会返回任何内容:
@JsonView(VinetaView.class)
@RequestMapping(value = "/api/vinetaspage/", method= RequestMethod.GET)
public Page<Vineta> getvinetaspage(Pageable page ){
//This System.out print all the size of my repository
System.out.println(this.vinetarepository.findAll().size());
//This for print the title for my 20 first objects Vineta
for(Vineta v:this.vinetarepository.findAll(page)){
System.out.println(v.getTitulo());
}
// This print 20
System.out.println(this.vinetarepository.findAll(page).getSize());
//This print the page number = 0
System.out.println(page.getPageNumber());
//This print the page size = 20
System.out.println(page.getPageSize());
//Finally, this is not returning nothing
return vinetarepository.findAll(page);
}
系统输出后,我可以看到我的查询大小正确(20),但没有任何回复。
这两个函数都使用相同的Jsonview,因此丢弃了这个问题。
答案 0 :(得分:0)
由于页面界面可能缺少功能,因此需要一个适配器类(如PageWrapper)来包装Spring Data Page接口。
public class PageWrapper {
}