Как добавить данные в пользовательскую аннотацию из RequestBody - PullRequest
0 голосов
/ 03 июля 2019

Я создаю пользовательскую аннотацию и HandlerInterceptorAdapter, который просто получит memberNo и распечатает его.

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MyCustomAnnotation
{
    String memberNo();
}

А на контроллере что-то вроде этого:

@MyCustomAnnotation(memberNo = "${someBodyObject.memberNo}")
@RequestMapping(value = "/test/", method = RequestMethod.GET)
public String test(@RequestBody SomeBodyObject someBodyObject) {
    System.out.println("--- TEST ---");
    return "-- FINISHED ---";
}

Тело запроса. SomeBodyObject имеет один файл и его номер участника.

Как я могу внедрить этот memberNo из RequestBody в HandlerInterceptorAdapter? И возможно ли использовать Spring SpEL или что-то еще, чтобы получать данные из Body и отправлять их в AnnotationResolver? Или, может быть, есть другой способ сделать это?

Я пытаюсь так и получаю ответ: $ {token.memberNo} в виде строки

1 Ответ

0 голосов
/ 03 июля 2019

Это невозможно.

Аннотации требуют постоянных значений, а параметр метода является динамическим.

...