Seguinte, me passaram um sistema que já está em uso faz um bom tempo, onde estações que estão em campo (diversas localidades)
enviam por grps uma determinada string algo como:
para uma determinada url. Sendo assim, o sistema q está no servidor salva estes dados fazendo algumas mágicas (tratamento desta string). Sei que necessito rever as regras de negócio desse sistema (e ja tem uma equipe revendo isso), porém preciso criar uma certa redundância de servidores caso o primário saia do ar.
Tirando toda essa enrolação acima.
Possuo no meu controller o seguinte método:
@Path("/add/{dadoEstacao.descricaoDado}")
public void add(DadoEstacao dadoEstacao){
service.saveOrUpdate(dadoEstacao);
}
O grande porém dessa história é que se vcs perceberam a linha acima possui / (barras), já que temos uma data ali.
Como que eu faço para anotar isso no @Path ???
Na documentação, no item 3 (Resurces-Rest) menciona que eu deveria utilizar o * (asterisco), mas não funcionou.
Havia utilizado desta forma:
@Path("/add/{dadoEstacao.descricaoDado*}")
e tbém desta @Path("/add/*{dadoEstacao.descricaoDado}")
sem sucesso.
Ahhh, outra coisa… qdo eu coloco - (hífen) como separador da data, funciona certinho salvando o dado.
Realmente aprece que o VRaptor ainda nao tem como dar scape em barras sem saber de antemao quantas sao, e quebrar em paraemtros.
Nesse caso, voce pode mudar o tipo de expressao regular implementando um Router na mao, repare no codigo do DefaultRouter:
Voce pode usar esse codigo como base e anota-lo como ApplicationScoped que o VRaptor passara a usar o seu novo Router! E tambem podemos abrir um issue para iplementar essas novas funcionalidades para o vraptor 3.1.1
Vou dar uma olhada nas sugestões, ( e sem puxa-saquismo mesmo…) Pra ser sincero utilizei o Vraptor 2.alguma.coisa.xx
e não gostei muito dele por excesso de arquivos de configuração. Com certeza talvez não por conta do framework, mas pq eu
não entendia algumas coisas de como ele funcionava, rssss. Quebrei um pouco a cabeça pra entender.
Nesta nova versão vcs se passaram. Está muito show, facílimo de configurar e sair desenvolvendo.
Sem falar que no fórum, o pessoal é mais do que pronto a responder e ajudar. E caso não saibam, correm atrás para solucionar.