Início > Programação > Implementação de um Cliente Jersey

Implementação de um Cliente Jersey

Escrevi um artigo que demonstrava como implementar um cliente RESTEasy, que é a implementação REST que vem com o JBoss. Nesse artigo, vou fazer a implementação com Jersey, que é a implementação de referência da JAX-RS API. Você poderia manter as duas implementações se utilizasse aquela estratégia de injeção de dependência que expliquei.

public Autorizacao autenticar() throws Exception  {
   Client client = Client.create();

   JSONObject jsonInput = new JSONObject();
   jsonInput.put("usuario", "usuario");
   jsonInput.put("senha", "senha");

   WebResource target = client.
    resource("http://localhost:8080").
    path("/autenticar/");
   ClientResponse response = target.
    type(MediaType.APPLICATION_JSON).
    post(ClientResponse.class, jsonInput.toString());

   String value = response.readEntity(String.class);
   response.close();
   ObjectMapper map = new ObjectMapper();
   return map.readValue(value, Autorizacao.class);
}

public List<Usuario> listarUsuarios(Autorizacao autorizacao)
   throws Exception {
   Client client = Client.create();
   WebResource target = client.
    resource("http://localhost:8080").
    path("/usuario/listar/");

   ClientResponse response = target.
      accept(MediaType.APPLICATION_JSON).
      header("Token", autorizacao.getToken()).get(ClientResponse.class);

   String value = response.readEntity(String.class);
   response.close();
   ObjectMapper map = new ObjectMapper();
   Map<String, List<Usuario>> mapItens = map.
     readValue(value,
      new TypeReference<Map<String, List<Usuario>>>() {
     });
   return mapItens.get("usuarios");
}

Referências

1. [http://www.mkyong.com/webservices/jax-rs/restful-java-client-with-jersey-client/]
2. [http://howtodoinjava.com/jersey/jersey-restful-client-examples/]
3. [http://crunchify.com/how-to-create-restful-java-client-with-jersey-client-example/]
4. [https://gist.github.com/jmertic/5844627]

Anúncios
Categorias:Programação

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: