繁体   English   中英

如何从RequestBody的自定义注释中注入数据

[英]How to inject data in custom annotation from RequestBody

我创建了一个自定义注释和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}作为字符串

那不可能

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

暂无
暂无

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

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