12
12
@ Path ("/fruits" )
13
13
public class FruitResource {
14
14
15
- private static final int MAX_PAGE_SIZE = 2 ;
16
15
private final FruitRepository fruitRepository ;
17
16
18
17
private static final Sort <Fruit > ASC = Sort .asc ("name" );
@@ -25,24 +24,26 @@ public FruitResource(FruitRepository fruitRepository) {
25
24
@ Path ("/offset" )
26
25
@ GET
27
26
@ 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 );
30
30
return fruitRepository .offSet (pageRequest ).content ();
31
31
}
32
32
33
33
@ Path ("/cursor" )
34
34
@ GET
35
35
@ Produces (MediaType .APPLICATION_JSON )
36
36
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 ) {
38
39
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 ));
40
41
return fruitRepository .cursor (pageRequest , ASC ).content ();
41
42
} 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 ));
43
44
return fruitRepository .cursor (pageRequest , DESC ).stream ().toList ();
44
45
}
45
- var pageRequest = PageRequest .ofSize (MAX_PAGE_SIZE );
46
+ var pageRequest = PageRequest .ofSize (size );
46
47
return fruitRepository .cursor (pageRequest , ASC ).content ();
47
48
}
48
49
}
0 commit comments