Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 播放框架:如何传递onRequest函数中提取的参数_Java_Playframework - Fatal编程技术网

Java 播放框架:如何传递onRequest函数中提取的参数

Java 播放框架:如何传递onRequest函数中提取的参数,java,playframework,Java,Playframework,我重写了public Action-onRequest(final Http.Request-Request,Method)方法,以检查强制Http头是否传入且有效,即:我提取apiKey(和其他内容),并确保它们有效(存在与apiKey相关联的数据)。然后我调用返回super.onRequest(请求,方法)和我结束在我的控制器中,我再次必须提取apiKey并从DB中获取相关数据。 是否有方法将数据传递到控制器的方法(例如:publicstaticresult addUser()) 谢谢。我知

我重写了
public Action-onRequest(final Http.Request-Request,Method)
方法,以检查强制Http头是否传入且有效,即:我提取apiKey(和其他内容),并确保它们有效(存在与apiKey相关联的数据)。然后我调用
返回super.onRequest(请求,方法)和我结束在我的控制器中,我再次必须提取apiKey并从DB中获取相关数据。
是否有方法将数据传递到控制器的方法(例如:
publicstaticresult addUser()

谢谢。

我知道这个问题是针对Java的,但我在Scala中使用Play,这个问题与Play的关系比与Java的关系更大

Scala中,我可以扩展
WrappedRequest
来创建自己的自定义请求类型,该类型具有我希望在控制器中访问的实例变量:

// Scala code
case class MyRequest[A](request: Request[A]) extends WrappedRequest(request) {

  // This is a public instance variable
  val apiKey = request.headers.get("Authorization)   
}
然后,在我的控制器中,我可以访问动作对象,该对象现在的类型为
MyRequest

// Scala code
def foobar(action: MyRequest[AnyContent]) = Action {

  // Do something with the api key
  val apiKey = action.apiKey

  // Send back a response
  Ok("foobar")
}

Java中,您似乎可以使用什么播放版本来执行类似的操作?GlobalSettings在2.5中不推荐使用