根据自定义AOP注释更改@ApiParam

时间:2018-07-02 16:08:56

标签: spring aspectj spring-aop

我的方面很简单

可审核:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@interface Auditable {}

AuditAspect:

@Aspect
@Service
class Audit {
    @Pointcut("@annotation(Auditable)")
    void auditableDefinition() {
    }

    @Before("auditableDefinition() && execution(* *(..)) && etc.")
    void auditMethod(a bunch of args) {
        // do stuff
    }
}

这很好。但是我有一个看起来像这样的界面:

@RequestMapping( method=RequestMethod.GET, .... )
@Auditable
ResponseEntity<Object> get(

    @RequestParam(required = true)
    @ApiParam(value = Constants.MY_CONST, required = true)
    final String name) {

    //
    // Code here
    //
}

RequestParam和ApiParam是我的问题所在。在auditMethod中使用true / false标志绕过了AuditApect,也可以在auditableDefinition方法中放置它。有没有一种方法可以根据是否启用Aspect来更改REST调用中的参数要求?我对此一无所知,它是继承的代码。

0 个答案:

没有答案