Manu:
J'utilise Spring Boot 2 et je dois écrire un @RestController
dans un @GetMapping
qui prend Pageable
comme paramètre.
@GetMapping
public ResponseEntity<Page<AppointmentTO>> findAll(Pageable pageable) {
Page<AppointmentTO> page = appointmentService.findAll(pageable);
return ResponseEntity.ok(page);
}
Le problème est le suivant:
Par chaque requête, les requêtes de paramètres pageSize
et offset
sont toujours remis à zéro par défaut quand ils sont arrivés au printemps Boot backend ( ?offset=0&pageSize=20
), mais j'envoie différents paramètres dans l'url de ma demande ( ?offset=15&pageSize=5
par exemple).
i.bondarenko:
Spring Boot mappe les params demande à org.springframework.data.domain.PageRequest
qui s'étendAbstractPageRequest
AbstractPageRequest implements Pageable, Serializable {
...
private final int page;
private final int size;
public long getOffset() {
return (long)this.page * (long)this.size;
}
...
Vous devez utiliser URL suivant:
http://localhost:8080?page=3&size=5
Vous pouvez également ajouter le tri par ... et tri name =