🕰️拦截器
大约 2 分钟
拦截器
自3.3.0版本开始,sms4j开始支持自定义拦截器,用户可以通过自己定义拦截器规则来实现一系列操作。
拦截器将对发送方法执行之前进行增强操作
拦截器分为三个方法,和一个额外拦截器
分别为:preProcessor前置拦截器,postProcessor后置拦截器,exceptionHandleProcessor异常拦截器
使用方法
- 实现接口
org.dromara.sms4j.api.proxy.SmsProcessor
- 在拦截器工厂中加入此拦截器
SmsProxyFactory.addPreProcessor(实现SmsProcessor接口的对象)
示例
public class MyProcessor implements CoreMethodProcessor {
@Override
public Object[] preProcessor(Method method, Object source, Object[] param) {
// 前置执行逻辑
}
@Override
public Object[] postProcessor(SmsResponse result, Object[] param) {
// 后置执行逻辑
}
public void exceptionHandleProcessor(Method method, Object source, Object[] param, Exception exception) throws RuntimeException{
// 异常处理逻辑
}
}
// 保证项目启动时候执行一次以下方法
SmsProxyFactory.addPreProcessor(new MyProcessor)
在使用中需要注意,拦截器加入工厂应在调用发送方法之前,否则拦截器无法生效
如需要移除拦截器,请使用:SmsProxyFactory.removePreProcessor(实现SmsProcessor接口的对象)
方法进行移除