1. 程式人生 > 其它 >攔截器preHandle直接返回狀態和JSON

攔截器preHandle直接返回狀態和JSON

 @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
        System.out.println("-----------------------進入攔截器-------------------------");
        //每次都會先發一個不帶引數的OPTIONS請求,若此請求失敗則不會發起正式請求,所以要過濾掉OPTIONS請求
        if (HttpMethod.OPTIONS.toString().equals(request.getMethod())) {
            System.out.println(
"OPTIONS請求,放行"); return true; } try { String token=request.getHeader("Authorization"); //如果驗證token失敗,並且方法註明了Authorization,返回401錯誤 if (token == null) { //設定response狀態 response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.setCharacterEncoding(
"UTF-8"); response.setContentType("application/json; charset=utf-8"); //返回的資料 JSONObject res = new JSONObject(); res.put("status","-1"); res.put("msg","need login"); PrintWriter out = null ; out
= response.getWriter(); out.write(res.toString()); out.flush(); out.close(); return false; } }catch (Exception e){ return false; } return true; }