HttpServletRequest接收的是Json格式資料的解決辦法
阿新 • • 發佈:2019-02-08
加紅的程式碼是對Json串的處理@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (handler.getClass().isAssignableFrom(HandlerMethod.class)) { Authentication Authentication = ((HandlerMethod) handler) .getMethodAnnotation(Authentication.class); //如果沒用Authentication這個註解標註的介面或者validate=false則直接通過 if (Authentication == null || Authentication.validate() == false) { return true; } else { BufferedReader streamReader = new BufferedReader( new InputStreamReader(request.getInputStream(), "UTF-8")); StringBuilder responseStrBuilder = new StringBuilder(); String inputStr; while ((inputStr = streamReader.readLine()) != null) responseStrBuilder.append(inputStr); Map<String ,String> map = JSON.parseObject(Base64.decode(responseStrBuilder.toString()),Map.class); String userToken = map.get("token");
log.debug("current token**************: " + userToken); if (StringUtils.isBlank(userToken)) { returnValue(response); return false; } else { TokenTools tokenTools = new TokenTools(); if (!tokenTools.checkLoginInfo(userToken)) { returnValue(response); return false; } log.debug("You have logged in successfully!"); return true; } } }else { return true; } }