反向路由未生成

时间:2019-12-04 14:37:01

标签: scala playframework

我遇到了没有生成路由的情况。在我的播放服务中,我遇到了所有路由都在应用程序路由文件中定义的情况,如下所示:

GET /foo packageA.ControllerA.methodA()
… lots of other endpoints under ControllerA

GET /bar packageB.ControllerB.methodB()
… lots of other endpoints under ControllerB

GET /baz packageC.ControllerC.methodC()
… lots of other endpoints under ControllerC

在编译应用程序时,会生成反向路由。

由于应用程序路由文件太大,因此决定将路由拆分到单独的路由文件中,每个软件包一个,如下所示:

routesForA.routes
GET /foo packageA.ControllerA.methodA()
… lots of other endpoints under ControllerA

再次生成反向路由。

但是,我们希望将packageA.ControllerA的一个端点放入packageB.ControllerB的路由文件中。

说我们搬走了

packageA.ControllerA.methodA放入packageB.controllerB的路由文件中。

然后发生的是,生成了ControllerA.methodA的反向路由,但是没有生成ControllerA路由(在packageA路由文件中定义)的所有其他反向路由。

这是错误还是功能?

1 个答案:

答案 0 :(得分:1)

我们的主要路线文件看起来有些不同。我们在主路由文件中委派特殊的文件。

routes

->          /foo               foo.Routes

因此,在此示例中,所有以/foo开头的请求都转发到foo.routes文件(也位于conf文件夹中)

foo.routes看起来像

GET /methodB     packageB.ControllerB.methodB()

因此,此网址为/foo/methodB