我遇到了没有生成路由的情况。在我的播放服务中,我遇到了所有路由都在应用程序路由文件中定义的情况,如下所示:
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
路由文件中定义)的所有其他反向路由。
这是错误还是功能?
答案 0 :(得分:1)
我们的主要路线文件看起来有些不同。我们在主路由文件中委派特殊的文件。
routes
:
-> /foo foo.Routes
因此,在此示例中,所有以/foo
开头的请求都转发到foo.routes
文件(也位于conf
文件夹中)
foo.routes
看起来像
GET /methodB packageB.ControllerB.methodB()
因此,此网址为/foo/methodB