1. 业务开发
主要提供三种使用方式:
- 注解@SensitiveWord
- 工具类 SensitiveWordsUtil.replaceAll
1.1. 注解@SensitiveWord
通用AOP过滤不来的方法,通过业务层代码通过在方法上加上 @SensitiveWord
注解达到过滤效果
@SensitiveWord
public ResultData 方法(ProgressLogEntity progressLog) {}
[!tip]
方法形参上必须存在BaseEntity
类型参数才有效,这里ProgressLogEntity
是BaseEntity
子类
1.2. 工具类 SensitiveWordsUtil.replaceAll
业务代码中通过工具类灵活的对内容进行敏感词过滤
//关键字配置
String content = "滚出去";
content = SensitiveWordsUtil.replaceAll(content)
//content 就是过滤之后的内容
1.3. 如果需要拦截所有的业务数据,需要修改通用的AOP
修改net.mingsoft.wordfilter.aop.SensitiveWordAop
增加下面两个拦截配置
@Before("execution(* net.mingsoft..*Action.save(..))")
public void save(JoinPoint joinPoint) throws IllegalAccessException {
startReplace(joinPoint);
}
@Before("execution(* net.mingsoft..*Action.update(..))")
public void update(JoinPoint joinPoint) throws IllegalAccessException {
startReplace(joinPoint);
}
[!tip] 具体会拦截
save
、update
方法,不需要额外编写代码