在java的play框架中的routingdsl中获取请求头(cookie)

时间:2018-02-26 17:06:56

标签: java mocking playframework-2.0

我还在学习Java的Play框架。我正在尝试创建一个测试服务器的测试用例。在那里,我使用RoutingDSL定义URL和响应。但是,我似乎无法找到任何方式来访问请求标头(实际上我正在尝试查看客户端是否正在发送正确的cookie)。 以下是代码片段:

   server = Server.forRouter(20000, components -> 
       RoutingDsl.fromComponents(components)
       .GET("/demo").routeTo(() -> 
           // Here I need something to get request headers or cookies
           new Result(HttpStatus.SEE_OTHER_303)).build());

解决方案: 仔细阅读文档后(这里简要提到:https://www.playframework.com/documentation/2.6.x/JavaRoutingDsl):

  

由于您将实施操作,您可能想要导入   来自Controller的静态方法,包括工厂方法   创建结果,访问请求,响应和会话。

基本上,想法是使用来自play.mvc.Controller类的静态方法,其中包含该信息:

   server = Server.forRouter(20000, components -> 
       RoutingDsl.fromComponents(components)
       .GET("/demo").routeTo(() -> 
           doSomethingWithRequest(play.mvc.Controller.request())
           new Result(HttpStatus.SEE_OTHER_303)).build());

0 个答案:

没有答案