Restfulie server (vRaptor) recebe parametro nulo

6 respostas
tiagogermanos

Pessoal estou implementando um REST com Vraptor. Inclusive utilizei a apostilado da Caelum como base (http://www.caelum.com.br/apostila-vraptor-hibernate/rest/#11-1-o-que-e-rest).

Meu Metodo Controller:

@Put @Path("alterar/{produto.id}") @Consumes({ "application/x-www-form-urlencoded", "application/json", "application/xml" }) public void alterar(Produto produto){ System.out.println("Produto Id: " +produto.getId()); System.out.println("Produto Descricao: " +produto.getDescricao()); System.out.println("produto alterado !!"); result.use(status()).ok(); }

xml submetido:

<produto>
  <descricao>Produto Qualquer</descricao>
</produto>

O problema é que estou mandando um xml com o id do produto na url e ele não está populando o id do meu produto. Só funciona se eu mandar o xml com o id do produto. Apesar de mandar na url ainda preciso mandar o id pelo xml ?

6 Respostas

Lucas_Cavalcanti

O deserializador de xml não pega os parâmetros do path mesmo =/

usando VRaptor 3 ou 4?

tiagogermanos

Realmente, quando faco a requisicao usando contentType “application/x-www-form-urlencoded” funciona na boa.
A versão que estou usando é a 3.1.3.

Lucas_Cavalcanti

Abre uma issue por favor explicando esse problema?

tiagogermanos

Tá certo Lucas, vou abrir.

Vlw pela ajuda !!

tiagogermanos

Lucas,

por mais que esteja populando o objeto, é possivel eu recuperar de alguma forma o id passado pela url ?

Lucas_Cavalcanti

sim, se vc receber o HttpServletRequest no construtor ou no método e fazer request.getParameter(“nome-que-vc-colocou-no-path”)

Criado 9 de junho de 2014
Ultima resposta 17 de jun. de 2014
Respostas 6
Participantes 2