From 397971378357db417763bd388c25cdeeaed5d33c Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Fri, 17 Apr 2026 14:47:43 +0800
Subject: [PATCH] 用户密码支持自定义配置规则
---
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java | 73 +++++++++++++++++++++++++++---------
1 files changed, 54 insertions(+), 19 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java
index 1142e41..377d465 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ServletUtils.java
@@ -4,21 +4,24 @@
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
+import java.util.Collections;
import java.util.Enumeration;
-import java.util.LinkedHashMap;
+import java.util.HashMap;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.server.reactive.ServerHttpResponse;
+import org.springframework.util.LinkedCaseInsensitiveMap;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
-import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.text.Convert;
@@ -80,6 +83,34 @@
}
/**
+ * 获得所有请求参数
+ *
+ * @param request 请求对象{@link ServletRequest}
+ * @return Map
+ */
+ public static Map<String, String[]> getParams(ServletRequest request)
+ {
+ final Map<String, String[]> map = request.getParameterMap();
+ return Collections.unmodifiableMap(map);
+ }
+
+ /**
+ * 获得所有请求参数
+ *
+ * @param request 请求对象{@link ServletRequest}
+ * @return Map
+ */
+ public static Map<String, String> getParamMap(ServletRequest request)
+ {
+ Map<String, String> params = new HashMap<>();
+ for (Map.Entry<String, String[]> entry : getParams(request).entrySet())
+ {
+ params.put(entry.getKey(), StringUtils.join(entry.getValue(), ","));
+ }
+ return params;
+ }
+
+ /**
* 获取request
*/
public static HttpServletRequest getRequest()
@@ -130,9 +161,19 @@
}
}
+ public static String getHeader(HttpServletRequest request, String name)
+ {
+ String value = request.getHeader(name);
+ if (StringUtils.isEmpty(value))
+ {
+ return StringUtils.EMPTY;
+ }
+ return urlDecode(value);
+ }
+
public static Map<String, String> getHeaders(HttpServletRequest request)
{
- Map<String, String> map = new LinkedHashMap<>();
+ Map<String, String> map = new LinkedCaseInsensitiveMap<>();
Enumeration<String> enumeration = request.getHeaderNames();
if (enumeration != null)
{
@@ -151,9 +192,8 @@
*
* @param response 渲染对象
* @param string 待渲染的字符串
- * @return null
*/
- public static String renderString(HttpServletResponse response, String string)
+ public static void renderString(HttpServletResponse response, String string)
{
try
{
@@ -166,7 +206,6 @@
{
e.printStackTrace();
}
- return null;
}
/**
@@ -177,13 +216,13 @@
public static boolean isAjaxRequest(HttpServletRequest request)
{
String accept = request.getHeader("accept");
- if (accept != null && accept.indexOf("application/json") != -1)
+ if (accept != null && accept.contains("application/json"))
{
return true;
}
String xRequestedWith = request.getHeader("X-Requested-With");
- if (xRequestedWith != null && xRequestedWith.indexOf("XMLHttpRequest") != -1)
+ if (xRequestedWith != null && xRequestedWith.contains("XMLHttpRequest"))
{
return true;
}
@@ -195,11 +234,7 @@
}
String ajax = request.getParameter("__ajax");
- if (StringUtils.inStringIgnoreCase(ajax, "json", "xml"))
- {
- return true;
- }
- return false;
+ return StringUtils.inStringIgnoreCase(ajax, "json", "xml");
}
/**
@@ -216,7 +251,7 @@
}
catch (UnsupportedEncodingException e)
{
- return "";
+ return StringUtils.EMPTY;
}
}
@@ -234,7 +269,7 @@
}
catch (UnsupportedEncodingException e)
{
- return "";
+ return StringUtils.EMPTY;
}
}
@@ -292,7 +327,7 @@
response.setStatusCode(status);
response.getHeaders().add(HttpHeaders.CONTENT_TYPE, contentType);
R<?> result = R.fail(code, value.toString());
- DataBuffer dataBuffer = response.bufferFactory().wrap(JSONObject.toJSONString(result).getBytes());
+ DataBuffer dataBuffer = response.bufferFactory().wrap(JSON.toJSONString(result).getBytes());
return response.writeWith(Mono.just(dataBuffer));
}
}
--
Gitblit v1.9.3