Olá pessoal
Estou iniciando uns estudos com o Jersey para colocar em prática a arquitetura REST. Estive fazendo uns testes e achei bem interessante principalmente a forma com que o Jersey deixa transparente o mapeamento dos JSONs para objeto e a simplicidade na implementação dos recursos. Porém tenho um problema ao invocar um DELETE no servidor:
fui atrás do erro e vi que muita gente recorria à mesma solução: fazer uma chamada assíncrona do cliente usando AsyncWebResource… porém fazendo essa chamada o cliente não invoca o método… Pesquisei mais a fundo e vi que em alguns casos ao invés do retorno void era chamado o método @DELETE retornando um Response… também não adiantou. Segue como tenho hoje:
@DELETE
@Consumes(MediaType.APPLICATION_JSON)
public void remove(Cliente cliente) {
//... remoçao do cliente..
}
Cliente:
Cliente cliente = new Cliente(...);
WebResource wr = c.resource(SERVER).path("cliente");
wr.delete(cliente);
Testei de várias formas (retornando Response, passando o id do cliente via @PathParam) mas todas as formas ou retorna o erro informado anteriormente, ou o response retorna como “Method not allowed” ou a chamada assíncrona não realiza o invoke…
Alguma ideia?