HTTP 后端无法接收header参数

HTTP 后端无法接收header参数,第1张

HTTP 后端无法接收header参数

前后端分离,跨域
前端发送请求

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
       
        String token = request.getHeader("Token");
        if (token.isEmpty()){
            response.setStatus(401);
            response.setCharacterEncoding("utf-8");
            PrintWriter writer = response.getWriter();
            writer.println("未查询到认证信息");
            return false;
        }
        boolean b = authClient.checkToken(token);
        if (!b){
            response.setStatus(401);
            response.setCharacterEncoding("utf-8");
            PrintWriter writer = response.getWriter();
            writer.println("未查询到认证信息");
            return false;
        }
        return true;
    }

后端始终报空指针异常,无法正常获取参数

原因
会在发起正式请求之前先发送一个预检请求OPTIONS,需要将此请求过滤

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if ("OPTIONS".equals(request.getMethod())){
            return true;
        }
        String token = request.getHeader("Token");
        if (token.isEmpty()){
            response.setStatus(401);
            response.setCharacterEncoding("utf-8");
            PrintWriter writer = response.getWriter();
            writer.println("未查询到认证信息");
            return false;
        }
        boolean b = authClient.checkToken(token);
        if (!b){
            response.setStatus(401);
            response.setCharacterEncoding("utf-8");
            PrintWriter writer = response.getWriter();
            writer.println("未查询到认证信息");
            return false;
        }
        return true;
    }

什么情况下会存在OPTIONS请求
https://blog.csdn.net/weixin_34074740/article/details/91444311

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5703704.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存