如何在springAOP切入点中为args分配多个参数

1l5u6lss  于 2023-03-16  发布在  Spring
关注(0)|答案(1)|浏览(180)

我为目标方法aaa写了这样的切入点。我想把目标方法的所有参数都注册到通知方法的参数中。你能告诉我怎么做吗?

  • 目标法
fun aaa(    
        @RequestParam(value = "startDate")
        @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) startDate: LocalDate,
        @RequestParam(value = "endDate")
        @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) endDate: LocalDate,
        @ModelAttribute privateInfoRequestDTO: PrivateInfoRequestDTO,
        request: HttpServletRequest
    )
  • 通知方法的切点
@Before("@annotation(com.blah.blah...) && args(privateInfoRequestDTO, startDate, endDate, request)")
omhiaaxx

omhiaaxx1#

如果您需要匹配任意数量和类型的参数的通用解决方案,请尝试JoinPoint.getArgs
如果你知道你想用args(...)绑定的参数的左右相对位置,比如第一个参数,倒数第二个参数等等,当然坚持使用args会更舒服,类型安全。
下次在StackOverflow上提问之前,请阅读一些文档。谢谢。

相关问题