根据ServletRequestAttributes 获取前端请求方法名、参数、路径等信息

根据前端请求获取方法名、参数、路径等信息

//在一个方法里面如果想获取请求信息,需要从请求上下文获取request,或者在参数列表使用HttpServletRequest request

①在方法中获取请求上下文

// 接收到请求,记录请求内容
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

② 获取请求request
     //接收到request
    HttpServletRequest request = attributes.getRequest();
③获取参数
    Map<String,Object> map = getParameterMap(request);
    System.out.println("我是从Map参数获取的:"+Arrays.asList(map));

重点:getParameterMap 方法

 /**
     * 获取所有请求参数,封装为map对象
     *
     * @return
     */
    public Map<String, Object> getParameterMap(HttpServletRequest request) {
        if (request == null) {
            return null;
        }
        Enumeration<String> enumeration = request.getParameterNames();
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        StringBuilder stringBuilder = new StringBuilder();
        while (enumeration.hasMoreElements()) {
            String key = enumeration.nextElement();
            String value = request.getParameter(key);
            String keyValue = key + " : " + value + " ; ";
            stringBuilder.append(keyValue);
            parameterMap.put(key, value);
        }
        return parameterMap;
    }

这样可以获取到所有信息

发布了67 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/m0_37635053/article/details/103969075
今日推荐