Vraptor: Get Data Type no Interceptor

1 resposta
gporpino

Pessoal,

Estou tentando saber no interceptor se uma requisição é ajax (JSON) ou não.

Tentei usar o método
request.getContentType()
mas não deu certo, ele vem sempre nulo.
public void intercept(InterceptorStack stack, ResourceMethod method, Object resourceInstance) {
    	System.out.println("Interceptando " + request.getRequestURI());
    	
    	boolean authorized = false;
    	
    	...
    	
        if (userSession.isLogged()) {
        	if(authorized){
        		stack.next(method, resourceInstance);
        	}else{
        		result.redirectTo(LoginController.class).index();
        	}
        } else {
        	if (request.getContentType() != null && request.getContentType().contains("json") ){
        		result.use(Results.json()).withoutRoot().from(Resources.getMessage("user.not.logged")).serialize();
        		response.setStatus(Response.SC_BAD_REQUEST);
        	}else{
        		result.redirectTo(LoginController.class).login();
        	}
        }
    }

1 Resposta

Lucas_Cavalcanti

use isso:

request.getHeader("X-Requested-With") != null
Criado 28 de setembro de 2011
Ultima resposta 28 de set. de 2011
Respostas 1
Participantes 2