2017-03-21 7 views
0

私は正しく動作しているAPIを実装していますが、pagitationを使用すると何も返されません。Pageable APIがSpring MVCで動作しないのはなぜですか?

私は私のリポジトリのための次のコードを持っている:私は次のRequestMappingのeverthingsを使用する場合、

public interface VinetaRepository extends JpaRepository<Vineta, Long> { 
List<Vineta> findAllByOrderByCreationdateDesc(); 
List<Vineta> findByTitulo(String titulo);} 

をしてokです:

@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); 
} 

私のクエリのサイズが正しいことがわかりますct(20)、何も返されません。

どちらの関数も同じJsonviewを使用しているため、この問題は破棄されます。

+0

あなたは 'vinetarepository.findAll(ページ)に何があるかをチェックするための要求は' –

+0

が、私は何もあなたのビューがオンに動作しているものを返されません疑うデバッグするのですか?最初のメソッドは 'List'を返します。もう一つは' Page'です。あなたのビューは後者を処理する方法が分からなければ、もちろん何も返しません。 –

+0

この問題の解決策を見つけましたか?私は全く同じ問題に直面している。 –

答えて

0

ページインターフェイスに機能がないため、Spring Data Pageインターフェイスをラップするためにアダプタクラス(PageWrapperなど)が必要になります。

パブリッククラスPageWrapper {

}

関連する問題