1. 程式人生 > >HttpServletRequest接收的是Json格式資料的解決辦法

HttpServletRequest接收的是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; } }
加紅的程式碼是對Json串的處理