1
resposta

CONSULTA COM PAGINAÇÃO NO SWAGGER

    @GetMapping
    @ResponseBody
    @Cacheable(value="listaDeTopicos")
    public Page<TopicoDto> lista(@RequestParam(required=false) String nomeCurso,             
            @PageableDefault(sort= "id", direction = Direction.ASC, page=0, size=10) Pageable paginacao) {
    }

Olá!

Percebi que no SWAGGER, em GET /topicos; os argumentos que compõem a consulta com paginação são: offset, pageNumber, pageSize, e outros. No entanto, os parâmetros dessa função lista da classe TopicosController são (sort, direction, page=0, size=10). Além de não conterem a mesma momenclatura, os campos do Swagger não conseguem fazer a paginação conforme foi vista na aula sobre esse assunto; ou seja, os resultados do Swagger sempre retornam os três registros de tópicos inseridos no banco; enquanto se você fazer a mesma consulta no browser ou no Postman utilizando size e page; retornam conforme parâmetros da paginação passados. Enquanto no Postman há a paginação pedida, o SWAGGER não consegue paginar a informação. A que se deve isso? Como posso informar ao SWAGGER o nome dos parâmetros corretos da paginação?

Para ilustrar, mandei a assinatura da função lista, onde está os parâmetros de paginação mencionados.

Desde já agradeço.

1 resposta

Oi Juliano,

Esse é um bug da lib do swagger que estamos utilizando, e aqui você pode ver como fazer para resolver: https://cursos.alura.com.br/forum/topico-pageable-nao-funcionando-no-swagger-94108

Bons estudos!