[VRAPTOR] Verificar Status da resposta em Interceptor

8 respostas
aspmedeiros

Tem como eu verificar o status http de uma resposta dentro de um interceptor?
Tipo queria verificar se o código é 404 ou 500, coisas desse tipo…

8 Respostas

Rafael_Guerreiro

Você está querendo fazer um redirecionador?

aspmedeiros

É isso, mas não queria usar o web.xml pra isso, queria algo com menos configuração

Rafael_Guerreiro

Eu sou da opinião que uma configuração no web.xml é bem menor, mais rápido e mais fácil que um interceptor.

Mas pelo o que eu sei, não dá para interceptar esses erros 404, pois ele nem aponta para um controller…

Lucas_Cavalcanti

vc até pode fazer isso, recebendo o response no construtor, e verificando o status code do response depois do stack.next()

mas pra que vc quer isso?

aspmedeiros

Eu tentei fazer isso no interceptor mas ele só pega o status 200, o 404 o interceptor não pega (me corrija se eu estiver errado),
eu queria criar annontations para os códigos de erros http, por exemplo

@Handles(code = 404) ou um enumeration ao invés de um inteiro, algo do tipo no método de algum controller

Lucas_Cavalcanti

vc precisa fazer o interceptor ser before=ResourceLookupInterceptor.class e after={}

mas em todo caso, dependendo do que vc quer fazer, talvez seja melhor um Filter antes do VRaptor mesmo.

aspmedeiros

Entendi Lucas, vlw, me tira outra dúvida, um filter pode ser @Component? Em caso de não eu tenho q obter um provider da mesma forma que o filtro do VRaptor faz?

Lucas_Cavalcanti

Não, um filter não pode ser um @Component, pq não vai ser o VRaptor quem vai criá-lo.

Vc precisa mesmo dos componentes que estão registrados no VRaptor nesse filtro?

se for só saber quando acontece isso, os servidores tem um log de request que informa o status do request.

Criado 23 de abril de 2012
Ultima resposta 23 de abr. de 2012
Respostas 8
Participantes 3