我希望根据我在URL中命名路径变量的方式触发我的切入点之一.
事实是它是一个String,我不希望在每个String上触发我的切入点.
@Pointcut("@annotation(security.annotation.RequireValidUser) && args(datasetName, ..)")
private void methodAnnotatedForValidDatasetName(String datasetName) {
}
在我的情况下,这个切入点在这个方法中成功触发(这没关系):
public ResponseEntity createApiKey(@PathVariable("name") String datasetName, @RequestBody ApiKeyDTO apiKeyDTO)
但也是在这里触发(我不想要):
public ResponseEntity> findApiKeyFromDatasetLabel(@PathVariable("label") String datasetLabel)
我想知道是否有任何解决方法,所以切入点能够区分不同的字符串与他们的命名可能吗?
编辑:根据@kuhajeyan的建议,我尝试使用’argNames’如下:
@Pointcut(value = "@annotation(security.annotation.RequireValidUser) && args(datasetName, ..)", argNames = "datasetName")
不幸的是,它不能像预期的那样工作,它只指定切入点内的参数名称.