我的应用程序中的主要路由文件是从控制器中获得一点点,所以我尝试将它分成多个路由文件
路由
GET / controllers.Application.index
-> / someresource.Routes
someresource.routes
GET / controllers.SomeResource.get()
someresource的路由似乎工作正常。但是我似乎无法进行反向路由:
示例:
routes.SomeResource.get().url()
有办法做到这一点吗?
谢谢!
答案 0 :(得分:5)
我只是通过分割整个"子目录来实现这一目标。申请。基本上,您必须为辅助路由提供除/
之外的根路径。辅助路由文件引用的任何控制器也需要位于controllers.
这是一个例子。请注意,您的SomeResource
控制器现在位于controllers.somepackage
下,someresource.routes
中定义的所有路由都将以/somepath
为前缀。
<强> CONF /路由强>
-> /somepath someresource.Routes
<强> CONF / someresource.routes 强>
GET / controllers.somepackage.SomeResource.get()
视野中的反向路由
@somepackage.routes.SomeResource.get
答案 1 :(得分:2)
由于您的路线定义不允许,因此您无法将ID值传递给get()
。
此外,反向路由被编译到controllers
包中,因此它将是controllers.ReverseSomeResource.get().url
您将在target/scala_$VERSION/classes_managed
中找到已编译的代码,后跟包命名约定(在本例中为controllers
)。您可以在已编译的类上使用javap
来检查其方法。