3
respostas

Configuração Pageable no application.yml

Pensando em uma futura manutenção de código, é muito melhor e menos custoso deixar as configurações default do pageable no application ao invés do controller.

Porém, não estou conseguindo fazer funcionar. A dúvida é se estou quebrando o código corretamente, e caso esteja, se precisa de alguma outra nomemclatura na controller para que ele passe a pegar essas informações do YML, ou se necessida de alguma pasta de config de pageable.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Obs: No get da controller já tentei da forma do print, e também com (@PageableDefault @Pageable pagination), e mesmo assim ele não pega os valores diretamente do yml.

3 respostas

Olá, Francine!

Essas configurações que está tentando alterar no yml é sobre o nome dos parâmetros, por exemplo:

...
  data:
    web:
      pageable:
        page-parameter: pagina
        size-parameter: tamanho
        sort-parameter: ordem

Dessa forma, invés de enviar na URL

localhost:8080/medicos?page=2

será

localhost:8080/medicos?pagina=2

Para alcançar o resultado esperado, essa documentação pode te ajudar. Segue exemplo abaixo:

spring.data.rest.default-page-size: 50

Oi Arthur! Obrigada pela atenção!! Eu sei o que significa as configurações, minha dúvida é se setei algo errado no GetMapping na controller, ou se está certo aquele valor de {name}. Da forma que está, quando eu puxo a lista, ele não está pegando as configurações setadas no yml, e nem as páginas corretas. Está indo desordenado e com a configuração padrão do próprio Pageable mesmo, e não a que eu gostaria.

Pelo que você já sanou de dúvidas, vi que a escrita do yml está correta (pelo menos a identação), mas continuo sem o resultado esperado.

Desde já agradeço muito!

Pelo que entendi da sua dúvida, você está tentando configurar valores padrões para o Pageable, correto? As configurações que você trouxe são para alterar o nome dos parâmetros e não setar valores como padrão.

Segue link da documentação com as configurações que você trouxe: https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties:~:text=spring.data.web.pageable.size%2Dparameter