新增 getData 接口配置,在模式三拉取数据时可以传递任意参数

This commit is contained in:
click33
2023-05-02 03:22:37 +08:00
parent 3a84c3d51e
commit aa2663e3f5
21 changed files with 668 additions and 258 deletions
@@ -1,7 +1,5 @@
package cn.dev33.satoken.servlet.model;
import java.io.IOException;
import cn.dev33.satoken.SaManager;
import cn.dev33.satoken.context.model.SaRequest;
import cn.dev33.satoken.exception.SaTokenException;
@@ -12,6 +10,9 @@ import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
/**
* Request for Jakarta Servlet
* @author kong
@@ -48,6 +49,36 @@ public class SaRequestForServlet implements SaRequest {
return request.getParameter(name);
}
/**
* 获取 [请求体] 里提交的所有参数名称
* @return 参数名称列表
*/
@Override
public List<String> getParamNames(){
Enumeration<String> parameterNames = request.getParameterNames();
List<String> list = new ArrayList<>();
while (parameterNames.hasMoreElements()) {
list.add(parameterNames.nextElement());
}
return list;
}
/**
* 获取 [请求体] 里提交的所有参数
* @return 参数列表
*/
@Override
public Map<String, String> getParamMap(){
// 获取所有参数
Map<String, String[]> parameterMap = request.getParameterMap();
Map<String, String> map = new LinkedHashMap<>(parameterMap.size());
for (String key : parameterMap.keySet()) {
String[] values = parameterMap.get(key);
map.put(key, values[0]);
}
return map;
}
/**
* 在 [请求头] 里获取一个值
*/