@Path dados combinados passados pela URL e por POST

22 views
Skip to first unread message

Silas Cardoso

unread,
Aug 21, 2016, 4:57:48 PM8/21/16
to caelum-vraptor
Boa tarde pessoal,

Estou com um probleminha com uma API de pagamentos, e não consigo avançar no meu projeto.

É o seguinte, a API me passa uma notificação quando o boleto é pago pela URL: http://seusite.com/payments/2718

E nessa requisição eles enviam um POST com os demais dados:

object, id, event, current_status, old_status e desired_status

Como mapeio isso? Tentei da seguinte forma, mas não deu certo:

@Path("/payments/{codigo}")
@Cors @Post
public void notificacaoBoleto(Long codigo, String object, String id, String event, String current_status, String old_status, String desired_status) {
...
}


Rodrigo Turini

unread,
Aug 21, 2016, 6:15:46 PM8/21/16
to caelum-vraptor
Oi Silas

quando você diz que não deu certo, significa que aconteceu uma exception ou não chamou o método? 

ou chamou, e os parâmetros não foram populados?

Ou nenhuma dessas? (;

Se puder, nos passe mais detalhes sobre o problema e logs de exception caso exista

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vrapto...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.

Silas Cardoso

unread,
Aug 24, 2016, 12:57:30 AM8/24/16
to caelum-vraptor, rodrigo...@caelum.com.br
Bom dia Rodrigo,

Agradeço pela disponibilidade em me ajudar e pela rápida resposta.

Não gerou exception porém não chamou o método.

Não sei como funciona o VRaptor internamente, essa questão de rotas e tal, mas nos exemplos que vi no site, os parâmetros no path devem corresponder com os parâmetros dos métodos, não é isso? Por isso fiquei perdido sem saber o que fazer exatamente, visto que nesse meu caso os parâmetros do path deve ser um, e os parâmetros do método (que serão enviados no POST) devem ser outros diferentes. 

Silas Cardoso

unread,
Aug 24, 2016, 1:22:34 AM8/24/16
to caelum-vraptor, rodrigo...@caelum.com.br
Bom dia Rodrigo,

Consegui resolver o problema, pesquisando por @path no CDI encontrei um carinha chamado @PathParam, foi a solução para o meu problema, que no fim, ficou dessa forma:

@Path("/payments/{codigo}")
@Cors @Post
public void notificacaoBoleto(@PathParam("codigo") String codigo, String object, String id, String event, String current_status, String old_status, String desired_status) {
...
}


Assim recebo o código pela URL e os demais parâmetros pelo POST do HTTP Request.
Reply all
Reply to author
Forward
0 new messages