Boot Spring: @GetMapping avec paginable comme demande paramètre ne fonctionnent pas comme prévu

Manu:

J'utilise Spring Boot 2 et je dois écrire un @RestControllerdans un @GetMappingqui prend Pageablecomme 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 offsetsont 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=5par exemple).

i.bondarenko:

Spring Boot mappe les params demande à org.springframework.data.domain.PageRequestqui 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 =

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=333793&siteId=1
conseillé
Classement