Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Paginação e ordenação envolvendo Composição de Objetos

Fala galera.

Vamos supor que meu retorno do JSON é da seguinte forma

{
    "content": [
        {
            "pessoa": {
                "primeiroNome": "Diego",
                "segundoNome": null,
                "sobrenome": "Righi",
                "dataNascimento": "13/04/1988"
            },
            "documento": {
            "crm" : "11223344"
            }
        }]
        }

Como faço para ordenar na URL passando por exemplo primeiroNome ou qualquer outro atributo do meu domínio? Ficaria algo do tipo http://localhost:8080/api-xpto/cliente?size=2&page=0&sort=primeiroNome ou http://localhost:8080/api-xpto/cliente?size=2&page=0&sort=pessoa.PrimeiroNome ?

Fiz a primeira opção, mas não tive resultado. Meu JSON tem 40 registros e não obtive êxito.

DETALHE IMPORTANTE:

public class Cliente {
    private Pessoa pessoa;
    private Documento documento;
}

public class Pessoa {
    private String primeiroNome;
    private String segundoNome;
    private String sobrenome;
    private String dataNascimento;
}

public class Documento {
    private String crm;
}
2 respostas

Oi Diego!

Não tenho certeza se o Spring suporta ordenar por um atributo de um relacionamento. Caso sim, deve ser de uma das seguinte maneiras, no seu caso:

  1. &sort=pessoa.primeiroNome
  2. &sort=pessoa_primeiroNome

Isso considerando que você está fazendo uma consulta na entidade Cliente.

solução!

Bom dia, professor! Resolvi da seguinte forma

http://localhost:8080/api-xpto/cliente?size=2&page=0&sort=pessoa,primeiroNome,desc

Onde concateno pessoa,primeiroNome com vírgula. Assim o resultado foi satisfatório utilizando objetos complexos.