Duvida chamada de metodo VRaptor

7 respostas
S

Estou com uma duvida a respeito de chamar um metodo, segue o exemplo

@Path("/teste_{teste}")    
    public void confirmar(String teste) {               
        result.include("retorno", teste);
    }

Este método funciona de boa se o valor da string teste passado for pequena, caso necessite enviar uma string grande é gerado erro 400 , gostaria de saber como proceder em caso de enviar um valor muito grande?

Obrigado

7 Respostas

G

Uso POST ao invés de GET, pois o GET é limitado a 255 caracteres. Post é (teoricamente) infinito.

S

Mas seria simples assim, apenas colocar um @Post, ou a forma de ter o valor do teste muda tb?

@Post
    @Path("/teste_{teste}")      
    public void confirmar(String teste) {                 
        result.include("retorno", teste);  
    }
G

Além disso precisa alterar o teu form para usar post.

Lucas_Cavalcanti

a url tem que ter no máximo 255 caracteres… se a string teste é muito grande, seria melhor passar via post mesmo, não na url

S

O problema que não vai ser chamado pelo Form ou algum componente, e sim por outra aplicação externa em JavaME.

Fiz a tentativa da seguinte forma.

HttpConnection connection = (HttpConnection) Connector.open("http://localhost:8084/CLog/teste");
            connection.setRequestMethod(HttpConnection.POST);            
            connection.setRequestProperty("teste", "teste");

Mas sem sucesso, alguém tem uma ideia de como chamar uma url dentro do VRaptor e passar informações via Post?

Obrigado!

Lucas_Cavalcanti

vc pode usar a biblioteca HttpClient, por exemplo:

http://hc.apache.org/httpcomponents-client-ga/index.html

algo como:

client = new HttpClient();
post = new PostMethod("http://....");
post.addParameter("teste", "teste");

se vc não puder usar bibliotecas externas, o que vc fez é o jeito certo de mandar um post?

S

Cara consegui nao preciso me preocupar com nada apenas mudar o metodo de acesso para post, ele faz tudo sozinho.

connection = (HttpConnection) Connector.open(http://localhost:8084/CLog/teste_HuhuDHSUHhhuhSHHDHDHDHHDHUHUHUDHhhuHDH..");
            connection.setRequestMethod(HttpConnection.POST);
            connection.setRequestProperty("Content-Type", "text/xml");

Ali onde tem vários hhuhuhu seria a minha variável, onde acima de 255 da exception, agora posso colocar acima deste valor que vai de boa, e chega no método do servidor que tem um @Post.

Criado 28 de outubro de 2011
Ultima resposta 2 de nov. de 2011
Respostas 7
Participantes 3