web-dev-qa-db-fra.com

Comment puis-je utiliser Pageable dans @RestController?

Je sais que Pageable vient de spring-data- domaine.

Existe-t-il un moyen élégant d'utiliser directement org.springframework.data.domain.Pageable dans @RestController?

J'ai essayé de suivre.

@RequestMapping(method = RequestMethod.GET,
                path = "pageable",
                produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Pageable> readPageable(@NotNull final Pageable pageable) {
    return ResponseEntity.ok(pageable);
}

Le résultat n'est pas ce que j'attendais.

...: ~ $ curl -X GET --header 'Accept: application/json' 'http://localhost:8080/.../pageable?limit=1&offset=1' | python -mjson.tool
...
{
    "offset": 0,
    "pageNumber": 0,
    "pageSize": 20,
    "sort": null
}
6
Jin Kwon

Il devrait renvoyer non Pageable mais Page.

public Page<YourEntityHere> readPageable(@NotNull final Pageable pageable) {
    return someService.search(pageable);
}

Pageable est le côté demande qui contient exactement ce dont vous avez besoin. Mais Page contient des résultats.

Voir par exemple le lien

11
StanislavL