Neste método usamos o from() antes implementado para compor uma única agência.
Fazemos isto pelo map() do stream(), que é um método Lambda que permite mudar (re-mapear) a forma de uma collection.
Veja que agora, há dois métodos from().
Um que "formata" uma única agência, e outro que "formata" uma lista de agências.
public static AgenciaRepresentation from(Agencia agencia){
AgenciaRepresentation model = new AgenciaRepresentation();
model.setCodigoDaAgencia(agencia.getCodigo());
model.setNomeCompleto(agencia.getNome());
model.setCnpj(agencia.getCnpj());
return model;
}
public static List<AgenciaRepresentation> from(List<Agencia> agencias){
return
agencias
.stream()
//Este from, é o from() logo acima
.map(item -> from(item))
.collect(Collectors.toList());
}
Até aqui, havíamos criado uma classe AgenciaRepresentation que determina a "forma" de saída do JSON de uma agência.
Entretanto, há também um GET no Endpoint para retorno de uma lista de agências.
Nesta feature foi implementada uma alteração para usar a mesma Representação também na Lista de Agências.
Método principal:
Neste método usamos o from() antes implementado para compor uma única agência.
Fazemos isto pelo map() do stream(), que é um método Lambda que permite mudar (re-mapear) a forma de uma collection.
Veja que agora, há dois métodos from(). Um que "formata" uma única agência, e outro que "formata" uma lista de agências.