IntelliJ - можно ли добавить пользовательскую аннотацию, например @SecurityCheck, ко всем методам классов контроллера? - PullRequest
0 голосов
/ 24 сентября 2019

Я создал аннотацию, например, @SecurityCheck и (контроллер Restfull), чтобы проверить, есть ли у контроллера аннотация @SecurityCheck.

У меня почти 300 методов управления.Мне очень трудно применить @SecurityCheck для каждого метода во всех контроллерах вручную .

Есть ли способ, с помощью которого я могу добавить определенный кодНапример, @SecurityCheck для каждого метода уровня контроллера в моем проекте.Я использую InteliJ.

Пример:

Вот фрагмент кода для примера метода контроллера.И каждый метод контроллера имеет аннотацию @ApiResponses ().

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

Имя метода и аргументы могут быть разными.Но почти все методы имеют аннотацию @ApiResponses () с различными параметрами аннотации.

Ожидаемый результат

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

1 Ответ

1 голос
/ 24 сентября 2019

Возможно, вы сможете сделать это с помощью Regex и инструмента поиска и замены

РЕДАКТИРОВАТЬ: Быстрый пример решения ниже:

Поиск: (@ApiResponses\((\S[\n]?.*)}\))

Заменить: $1\r\n@SecurityCheck

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...