我创建了一个自定义注释和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。

如何将那个MemberNo从RequestBody注入到HandlerInterceptorAdapter?
是否可以使用Spring SpEL或其他方式从Body获取数据并将其发送到AnnotationResolver?
也许还有其他方法可以做到这一点?

我这样尝试,响应为:$ {token.memberNo}作为字符串

最佳答案

那不可能

注释需要常量值,并且方法参数是动态的。

10-04 11:52