1212@ Path ("/fruits" )
1313public class FruitResource {
1414
15- private static final int MAX_PAGE_SIZE = 2 ;
1615 private final FruitRepository fruitRepository ;
1716
1817 private static final Sort <Fruit > ASC = Sort .asc ("name" );
@@ -25,24 +24,26 @@ public FruitResource(FruitRepository fruitRepository) {
2524 @ Path ("/offset" )
2625 @ GET
2726 @ Produces (MediaType .APPLICATION_JSON )
28- public Iterable <Fruit > hello (@ QueryParam ("page" ) @ DefaultValue ("1" ) long page ) {
29- var pageRequest = PageRequest .ofPage (page ).size (MAX_PAGE_SIZE );
27+ public Iterable <Fruit > hello (@ QueryParam ("page" ) @ DefaultValue ("1" ) long page ,
28+ @ QueryParam ("size" ) @ DefaultValue ("2" ) int size ) {
29+ var pageRequest = PageRequest .ofPage (page ).size (size );
3030 return fruitRepository .offSet (pageRequest ).content ();
3131 }
3232
3333 @ Path ("/cursor" )
3434 @ GET
3535 @ Produces (MediaType .APPLICATION_JSON )
3636 public Iterable <Fruit > cursor (@ QueryParam ("after" ) @ DefaultValue ("" ) String after ,
37- @ QueryParam ("before" ) @ DefaultValue ("" ) String before ) {
37+ @ QueryParam ("before" ) @ DefaultValue ("" ) String before ,
38+ @ QueryParam ("size" ) @ DefaultValue ("2" ) int size ) {
3839 if (!after .isBlank ()) {
39- var pageRequest = PageRequest .ofSize (MAX_PAGE_SIZE ).afterCursor (PageRequest .Cursor .forKey (after ));
40+ var pageRequest = PageRequest .ofSize (size ).afterCursor (PageRequest .Cursor .forKey (after ));
4041 return fruitRepository .cursor (pageRequest , ASC ).content ();
4142 } else if (!before .isBlank ()) {
42- var pageRequest = PageRequest .ofSize (MAX_PAGE_SIZE ).beforeCursor (PageRequest .Cursor .forKey (before ));
43+ var pageRequest = PageRequest .ofSize (size ).beforeCursor (PageRequest .Cursor .forKey (before ));
4344 return fruitRepository .cursor (pageRequest , DESC ).stream ().toList ();
4445 }
45- var pageRequest = PageRequest .ofSize (MAX_PAGE_SIZE );
46+ var pageRequest = PageRequest .ofSize (size );
4647 return fruitRepository .cursor (pageRequest , ASC ).content ();
4748 }
4849}
0 commit comments