如何将请求参数传递给java注释

时间:2011-11-30 06:17:01

标签: java annotations playframework

我正在使用Play框架,我需要使用@secure注释检查用户的权限,但我在这里遇到问题:

@secure(UID=???)
public static void removeFavorite(Long storyId,Long userId){

}

任何人都可以告诉我如何在注释中将“userId”参数传递给“UID”吗?

PS:“userId”参数在请求范围内。

非常感谢!

1 个答案:

答案 0 :(得分:2)

AFAIK您无法在运行时更改注释(至少在没有动态代码生成的情况下)。另外,注释是静态的,即它们适用于类或类成员(字段,方法等),并且不能根据实例进行更改。因此,您无法将userId传递给该注释。

我不要t know what @ secure does, but generally, you'd read the annotation at runtime and optionally check its static parameters and if those checks succeed you'd read the userId`参数,并在存在该注释时执行任何适当的操作。