用过 PlayFramework 的同学们应该都知道,Action 方法间的调用是进行的 302 重定向操作。
简单例子说明一下,当基于下面的 r1, r2 路由配置时,如果 Application.f1() 方法中调用了 f2() 方法,实际运作是 f1() 在调用 f2() 时,会先反向出 f2() 方法对应的路由 GET /r2,然后向 /r2 发出的一个 302 跳转.
上面也算是绕个弯形成了对 f2() 方法的调用,这也是非常合理,在 Action 中很容易理解的。
GET /r1 Application.f1
GET /r2 Application.f2
GET /r3 Application.f3
为什么说会反向出 f2() 方法对应的路由,可以反证一下。
例如说在 f1() 中调用了一个 public static void f4()
方法,但是 f4() 并未出现在 routes 配置中,也就是 f4() 没有对应的路由配置,我们将会看到这样一个异常 阅读全文 >>