繁体   English   中英

IntelliJ - 是否可以向 controller 类的所有方法添加自定义注释,例如 @SecurityCheck?

[英]IntelliJ - is it possible to add custom annotation e.g. @SecurityCheck to all methods of a controller classes?

我创建了一个注释,例如 @SecurityCheck 和一个(Restfull)controller 建议来检查 controller 是否有 @SecurityCheck 注释。

我有近 300 个 controller 方法。 我很难手动在所有 controller 中的每种方法上应用@SecurityCheck。

有没有办法可以在我的项目中 controller 层的每个方法上添加特定的代码片段,例如 @SecurityCheck。 我正在使用 InteliJ。

例子:

这是示例 controller 方法的代码片段。 并且每个 controller 方法都有 @ApiResponses() 注释。

/... some other annotations .../
@ApiResponses({
        @ApiResponse(code = 200, message = "Success", response = Response.class) })
public Response getExampleResourceMethod(
        @RequestBody String id) {
    return someService.getData(id);
}

方法名称可以和 Arguments 不同。 但几乎所有方法都有 @ApiResponses() 注释和不同的注释参数。

预计 Output

/... some other annotations .../
@ApiResponses({
        @ApiResponse(code = 200, message = "Success", response = Response.class) })
@SecurityCheck()
public Response getExampleResourceMethod(
        @RequestBody String id) {
    return someService.getData(id);
}

您也许可以使用正则表达式和搜索和替换工具来做到这一点

编辑:以下解决方案的快速示例:

搜索: (@ApiResponses\((\S[\n]?.*)}\))

替换: $1\r\n@SecurityCheck

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM