AOP切面增强模块方法(判断前端传入参数,对参数进行修改)

场景阐述

前端在查询框选择全部的时候,传入了【全部】2个字,后端拿到条件去查询的时候没有符合【全部】 这个条件的值, 由于这样的框太多一个一个去判断不现实,故采用AOP增强的方式切入到对应包下,修改前端传入的参数, 为【全部】 时,设置参数为null,后端不做条件查询。

AOP切面通知的类型

在基于Spring AOP编程的过程中,基于AspectJ框架标准,spring中定义了五种类型的通知,它们分别是:

前置通知 (@Before) 。
返回通知 (@AfterReturning) 。
异常通知 (@AfterThrowing) 。
后置通知 (@After)。
环绕通知 (@Around) :(优先级最高)

参数修改

@Around("execution(* org.jeecg.modules.ddp.controller.ddpReport.*.*(..))")
    public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
        //获取相关参数
        Object[] arguments = joinPoint.getArgs();
        for (Object arg : arguments) {
            // 對象为  DdpReportIndustryInsurance
            if (arg instanceof DdpReportIndustryInsurance){
                arg=industryInsurance(arg);
            }

            // 對象为  DdpReportOverview
            if (arg instanceof DdpReportOverview){
                arg= overview(arg);
            }
            break;
        }
        // 脱敏参数
        Object proceed = joinPoint.proceed(arguments);
        return proceed;
    }

说明一下:这里需要把“arguments ” 获取到的前端传入参数给弄出来修改,我这里传的是对象,转换方法很多,自己看着来。执行完了后通过: Object proceed = joinPoint.proceed(arguments);回写

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值