Mobile

Android – Realizando PUTs e DELETEs com SpringAndroid

 

Dando continuidade à série de desenvolvimento de aplicações REST com Spring, neste post eu darei um exemplo de como realizar PUT e DELETE nas suas aplicaçoes Android com a utilização do Spring.

Caso não tenha visto os posts anteriores, confira em: Desenvolvimento REST com Android, Consumindo JSON com Spring e Realizando POSTs com SpringAndroid.

A seguir, serão demonstradas algumas formas de enviar PUT e DELETE à um servidor, de acordo com o que a função espera receber.

 

Primeiro, enviaremos uma classe para um serviço que recebe um @RequestBody:

 

Serviço que recebe o PUT:

[cc lang=”java”]

@RequestMapping(value = “/model”, method = RequestMethod.PUT)
@ResponseBody
public Contato criarContatoModel(@RequestBody final Contato contato) {

// Implementação do método…
}

[/cc]

Para o envio de um PUT a um servidor, utilizamos métodos mais genéricos, que permitem o envio de outros tipos de métodos Http. No trecho de código a seguir, utilizamos o método exchange para enviar uma entidade contato dentro do body de um HttpEntity ao serviço.

[cc lang=”java”]

public void onClick(final View v) {

restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());

Contato contatoRequest = new Contato(“João”, “0000-0000”,
“email@email.com”, “@twitter”, “/facebook”);

contatoRequest.setId(1L);

HttpEntity contatoEntity = new org.springframework.http.HttpEntity(
contatoRequest);

ResponseEntity contato = restTemplate.exchange(
“,
HttpMethod.PUT, contatoEntity, Contato.class);

// Tratamento com o contato recebido…
}

[/cc]

 

A chamada de um serviço de DELETE que recebe apenas o ID da entidade na URL é bastante simples:

[cc lang=”java”]

@RequestMapping(value = “/{id}”, method = RequestMethod.DELETE)
public void deletarContato(@PathVariable final Long id) {

// Deletar contato
}

}

[/cc]

Método de envio do DELETE:

[cc lang=”java”]

public void onClick(final View v) {

Contato contatoRequest = new Contato(“João”, “0000-0000”,
“email@email.com”, “@twitter”, “/facebook”);

restTemplate.delete(“
+ contatoRequest.getId().toString());
}

[/cc]

 


Este foi mais um post da série Android, espero que tenham gostado. Quaisquer dúvidas, sugestões e/ou reclamações, comentem!

_________________________________________

Lucas Oliveira – Analista Programador na redspark.
Bacharel em Sistemas de Informação pela Universidade de São Paulo.
@OliveiraLima_

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Compartilhe isso: