1、queryString转换为map

//queryString指的是在获取前端get请求参数
//因为获取前端的参数使用的是如下
@PostMapping("/test")
public String test(HttpServletRequest httpServletRequest) {
    HttpServletRequest request = httpServletRequest;
    String qu = request.getQueryString();//qu获取出来是这样的name=xiaobing&age=15&sex=boy
     Map<String , Object> map = funClass.QueryStringToMap(qu); //这儿出来就是map了。
    return "hello";
}
//为此,我封装一下,把 name=xiaobing&age=15&sex=boy 转换成 map
//之后的话,我们就可以直接调用工具类的方法即可。





package com.bnc.s99.utils;

import org.springframework.stereotype.Component;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;

@Component
public class FunClass {
    public Map<String , Object> QueryStringToMap(String queryString) {
        if (queryString == null) {
            return new HashMap<>();
        }
        Map<String, Object> queryMap = new HashMap<>();
        String[] pairs = queryString.split("&");
        for (String pair : pairs) {
            int idx = pair.indexOf("=");
            String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), StandardCharsets.UTF_8) : pair;
            String value = idx > 0 && pair.length() > idx + 1 ? URLDecoder.decode(pair.substring(idx + 1), StandardCharsets.UTF_8) : null;
            queryMap.put(key, value);
        }
        return queryMap;
    }
}
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐