播放2个反向路由,从控制器方法获取路由

山姆

使用Play 2.2.3框架,假设我的路由文件中有一条类似这样的路由:

GET         /event                                 controllers.Event.events

如何以编程方式知道我要尝试的方法(在本例中为“ controllers.Authentication.authenticate”),使“ / event”?

我出于测试目的需要它,因为我希望有更好的测试,而不是等待路由本身,而是等待真正调用的controllers方法。因此,也许还有另一种解决方法,而不是像现在一样以这种方式进行测试:

//Login with good password and login
    val Some(loginResult) = route(FakeRequest(POST, "/login").withFormUrlEncodedBody(
      ("email", email)
      , ("password", password)))
    status(loginResult)(10.seconds)     mustBe 303
    redirectLocation(loginResult).get mustBe "/event"
迈克尔·扎亚克(Michael Zajac)

您可以通过以下方式构造反向路由:

[full package name].routes.[controller].[method]

在您的示例中:

 controllers.routes.Authentication.authenticate
 controllers.routes.Events.events

但是说您像controllers.auth那样拆开包装controllers.content,那么它们将是:

 controllers.auth.routes.Authentication.authenticate
 controllers.content.routes.Events.events

反向路由返回Call,其中包含HTTP方法和URI。在测试中,您可以使用构造FakeRequest一个Call

 FakeRequest(controllers.routes.Authentication.authenticate)

您还可以使用它来测试重定向URI:

 val call: Call = controllers.routes.Events.events 
 redirectLocation(loginResult) must beSome(call.url)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

播放2个反向路由,从控制器方法获取路由

来自分类Dev

Symfony2-从路由到控制器获取ID

来自分类Dev

Scala Play框架反向路由和控制器

来自分类Dev

拆分控制器并通过2个URL级别路由到控制器

来自分类Dev

播放框架,REST,路由和控制器

来自分类Dev

如何在Play Scala中从子控制器反向路由到子路由?

来自分类Dev

如何在Play Scala中从子控制器反向路由到子路由?

来自分类Dev

播放反向路由-获取绝对网址

来自分类Dev

铁路由器:获取当前控制器的名称

来自分类Dev

KrakenJS控制器路由

来自分类Dev

路由和控制器

来自分类Dev

使用2个模型和2个控制器的Laravel路由

来自分类Dev

如何从控制器动作内部获取父路由模型?

来自分类Dev

从控制器动作注释获取symfony路由

来自分类Dev

如何从控制器动作内部获取父路由模型?

来自分类Dev

Rails:如何获取Restfull命名路由的控制器和方法名称?

来自分类Dev

Symfony2如何在控制器中注入请求并获取路由参数

来自分类Dev

Symfony2:如何在Ajax控制器中获取当前路由?

来自分类Dev

Angular2 $ http获取具有路由属性的Web api控制器的请求

来自分类Dev

WebApi 2使用属性路由构建嵌套路由。结果同时映射到两个控制器

来自分类Dev

Symfony2:控制器路由器的参数

来自分类Dev

Symfony2:控制器路由器的参数

来自分类Dev

MVC:1个控制器的多个路由

来自分类Dev

使用一个控制器的C#路由

来自分类Dev

创建一个表单以在控制器内部路由方法

来自分类Dev

在Laravel 4中将2个参数从路由传递到控制器

来自分类Dev

Symfony2-如何在一个路由中使用多个控制器?

来自分类Dev

无法路由到控制器中的方法

来自分类Dev

使用路由参数时找不到控制器方法

Related 相关文章

  1. 1

    播放2个反向路由,从控制器方法获取路由

  2. 2

    Symfony2-从路由到控制器获取ID

  3. 3

    Scala Play框架反向路由和控制器

  4. 4

    拆分控制器并通过2个URL级别路由到控制器

  5. 5

    播放框架,REST,路由和控制器

  6. 6

    如何在Play Scala中从子控制器反向路由到子路由?

  7. 7

    如何在Play Scala中从子控制器反向路由到子路由?

  8. 8

    播放反向路由-获取绝对网址

  9. 9

    铁路由器:获取当前控制器的名称

  10. 10

    KrakenJS控制器路由

  11. 11

    路由和控制器

  12. 12

    使用2个模型和2个控制器的Laravel路由

  13. 13

    如何从控制器动作内部获取父路由模型?

  14. 14

    从控制器动作注释获取symfony路由

  15. 15

    如何从控制器动作内部获取父路由模型?

  16. 16

    Rails:如何获取Restfull命名路由的控制器和方法名称?

  17. 17

    Symfony2如何在控制器中注入请求并获取路由参数

  18. 18

    Symfony2:如何在Ajax控制器中获取当前路由?

  19. 19

    Angular2 $ http获取具有路由属性的Web api控制器的请求

  20. 20

    WebApi 2使用属性路由构建嵌套路由。结果同时映射到两个控制器

  21. 21

    Symfony2:控制器路由器的参数

  22. 22

    Symfony2:控制器路由器的参数

  23. 23

    MVC:1个控制器的多个路由

  24. 24

    使用一个控制器的C#路由

  25. 25

    创建一个表单以在控制器内部路由方法

  26. 26

    在Laravel 4中将2个参数从路由传递到控制器

  27. 27

    Symfony2-如何在一个路由中使用多个控制器?

  28. 28

    无法路由到控制器中的方法

  29. 29

    使用路由参数时找不到控制器方法

热门标签

归档