目录
文章所属专区 项目问题解决
参数过滤器实现代码及相关问题
@Component
public class ProjectConstants {
public static String CONDITION_FILTER;
@Autowired(
required = false
)
private void setConditionFilter(@Value("${request.param.condition.filter:%}") String filter) {
this.assignConditionFilter(filter);
}
private void assignConditionFilter(String filter) {
CONDITION_FILTER = filter;
}
}
/**
* 综合查询条件过滤
* @param map
* @throws AppException
*/
public static void validateIllegalParam(Map<String, Object> map) throws AppException {
if (org.apache.commons.lang3.StringUtils.isNotBlank(ProjectConstants.CONDITION_FILTER)) {
List<String> conditionFilterList = Arrays.asList(ProjectConstants.CONDITION_FILTER.split(","));
Iterator var2 = map.entrySet().iterator();
while(var2.hasNext()) {
Map.Entry<String, Object> entry = (Map.Entry)var2.next();
String key = (String)entry.getKey();
Object value = entry.getValue();
if (value instanceof String && conditionFilterList.contains(value)) {
throw new AppException("参数包含特殊字符", InternationUtils.getMessage("HOOX_ARCHIVE_01705", new Object[]{"{\"" + key + "\": \"" + value + "\"}"}));
}
}
}
}
public static Map<String,Object> transformParam(Map<String, String> map){
Map<String,Object> result = new HashMap<String,Object>();
for(Map.Entry<String, String> entry : map.entrySet()){
String key = entry.getKey();
String value = entry.getValue();
if(value instanceof Object){
result.put(key,value);
}else{
result.put(key,value);
}
}
return result;
}
在实现常量类 方法自动执行 @Autowired(required = false ) 虽然注入失败不会报错,但要注意整个类要加@Component 将整个类注入容器作为一个Bean。
参数过滤器有多种实现方法,本文介绍了通过工具介入修改或者判断参数。
java对过滤器或者拦截器中Request.parameter中参数进行添加或修改
java布隆过滤器搭建 java布隆过滤器实现
Java 过滤器使用 Java 过滤器实现请求过滤
java文件过滤器的使用
全注解实现自定义过滤器与拦截请求参数
给个三连吧 谢谢谢谢谢谢了