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…
[VRAPTOR] Verificar Status da resposta em Interceptor
8 Respostas
Você está querendo fazer um redirecionador?
É isso, mas não queria usar o web.xml pra isso, queria algo com menos configuração
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…
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?
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
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.
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?
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.