1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
| package cn.idea360.demo.modules.sign;
import com.alibaba.fastjson.JSONObject; import org.springframework.http.HttpMethod;
import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.HashMap; import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; import java.util.stream.Collectors;
public class RequestUtils {
public static Map<String, String> getUrlParams(HttpServletRequest request) {
String param = ""; if (Objects.isNull(request.getQueryString())) { return Collections.EMPTY_MAP; } try { param = URLDecoder.decode(request.getQueryString(), "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } Map<String, String> result = new HashMap<>(16); String[] params = param.split("&"); for (String s : params) { int index = s.indexOf("="); result.put(s.substring(0, index), s.substring(index + 1)); } return result; }
public static Map<String, String> getFormParams(HttpServletRequest request) { Map<String, String> paramMap = new HashMap<String, String>(); Map<String, String[]> requestMap = request.getParameterMap(); Iterator<Map.Entry<String, String[]>> it = requestMap.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String[]> entry = it.next(); if(entry.getValue().length==1){ paramMap.put(entry.getKey(), entry.getValue()[0]); } else { String[] values = entry.getValue(); String value = ""; for(int i=0; i<values.length; i++){ value = values[i] + ","; } value = value.substring(0, value.length()-1); paramMap.put(entry.getKey(), value); } } return paramMap;
}
public static Map<String, String> getBodyParams (HttpServletRequest request) throws IOException { String body = request.getReader().lines().collect(Collectors.joining(System.lineSeparator())); Map<String, String> map = new Gson().fromJson(body, new TypeToken<HashMap<String, String>>() {}.getType()); return map; }
public static Map<String, String> getAllParams(HttpServletRequest request) throws IOException {
SortedMap<String, String> sortedParams = new TreeMap<>();
Map<String, String> urlParams = getUrlParams(request); for (Map.Entry entry : urlParams.entrySet()) { sortedParams.put((String) entry.getKey(), (String) entry.getValue()); }
if (!HttpMethod.GET.name().equals(request.getMethod())) { Map<String, String> bodyParams = getBodyParams(request); if (null != bodyParams) { for (Map.Entry entry : bodyParams.entrySet()) { sortedParams.put((String) entry.getKey(), (String) entry.getValue()); } } }
Map<String, String> formParams = getFormParams(request); for (Map.Entry entry : formParams.entrySet()) { sortedParams.put((String) entry.getKey(), (String) entry.getValue()); }
return sortedParams; }
public static String obtainParameter(HttpServletRequest request, String parameter) { String result = request.getParameter(parameter); return result == null ? "" : result; } }
|