Como receber mais de um valor de um mesmo campo de uma requisição GET

6 respostas Resolvido
jsonrestgetprogramaçãojava
J

Tenho o seguinte json:

{

name: João,

name: Maria,

name: José

}

Como faço para recuperar esses valores em uma requisição GET?

eu fiz assim:

ResponseEntity<List<Users>> responseEntityUsers = restTemplate.exchange(url, HttpMethod.GET, requestEntity, Users.class);

Mas está dando erro.

A classe Users está assim:

public class Users {

private String name;

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

}

6 Respostas

Jonathan_Medeiros
Users[] users = restTemplate.exchange(url, HttpMethod.GET, requestEntity, Users[].class);
List<Users> usersList = Arrays.asList(users);
J

Funcionou assim:

ResponseEntity<Users[]> users = restTemplate.exchange(url, HttpMethod.GET, requestEntity, Users[].class);
	List<ResponseEntity<Users[]>> usersList = Arrays.asList(users);

Muito obrigado @Jonathan_Medeiros, sempre me salvando.

Valeu mesmo.

J

Mas agora não estou sabendo como manipular essa variável usersList.

Percebi que ela é um responseEntity e que dentro dela tem um vetor de Users.

Como faço para converter esse responseEntity para apenas uma lista de usuários?

J

Na verdade essa variável usersList é uma lista de ResponseEntity, mas só com apenas um objeto do tipo ResponseEntity e dentro desse objeto tem um vetor de Users.

Como faço para converter tudo apenas para uma lista de Users?

Lucas_Camara

Usar dessa forma não eh o correto. Uma requisição http retorna um response, e nesse response há os dados retornados, sejam eles um texto, número, lista, etc.

O certo seria como dito pelo @Jonathan_Medeiros, retornando os dados diretamente para uma variável, ou recuperar o response diretamente: ResponseEntity<Users[]>.

J
Solucao aceita

Assim deu certo:

ResponseEntity<User[]> users = restTemplate.exchange(url, HttpMethod.GET, requestEntity, User[].class);
List<User> userList = Arrays.asList(users.getBody());

Muito obrigado pessoal.

Criado 22 de julho de 2020
Ultima resposta 22 de jul. de 2020
Respostas 6
Participantes 3