Ich implementiere eine API, die korrekt funktioniert, aber wenn ich pagitation verwende, gibt dies nichts zurück.Warum funktioniert meine auslagerbare API nicht mit Spring MVC?
ich für mein Repository den nächsten Code haben:
public interface VinetaRepository extends JpaRepository<Vineta, Long> {
List<Vineta> findAllByOrderByCreationdateDesc();
List<Vineta> findByTitulo(String titulo);}
und, wenn ich das nächste RequestMapping everthings verwendet wird, ist ok:
@JsonView(VinetaView.class)
@RequestMapping("/api/vinetas2/")
public List<Vineta> getvinetas2(){
return this.vinetarepository.findAll();
}
aber, wenn ich die Paginierung verwenden, meine api ist alles zurück:
@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);
}
Mit dem System aus, kann ich sehen, dass die Größe meiner Abfrage entspricht ct (20), aber nichts kehrt zurück.
Beide Funktionen verwenden denselben Jsonview, daher wird dieses Problem verworfen.
haben Sie debuggen die Anfrage zu überprüfen, was in 'vinetarepository.findAll (Seite) ist' –
Ich bezweifle nichts zurückgegeben, was ist Ihrer Meinung nach wirkt auf? Die erste Methode gibt eine 'List' zurück, die andere eine' Page'. Wenn Ihre Ansicht nicht mit letzterem umgehen kann, wird natürlich nichts zurückgegeben. –
Haben Sie eine Lösung für dieses Problem gefunden? Ich stehe genau dem gleichen Problem gegenüber. –