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;
}
}