在 Play 框架中使用 SIRD 时如何解释路径
How is path interpreted when using SIRD in Play framework
以下示例来自 Play 的文档
要将路由 DSL 与使用路由文件和控制器的常规 Play 项目结合使用,请扩展 SimpleRouter:
package api
import javax.inject.Inject
import play.api.mvc._
import play.api.routing.Router.Routes
import play.api.routing.SimpleRouter
import play.api.routing.sird._
class ApiRouter @Inject()(controller: ApiController)
extends SimpleRouter
{
override def routes: Routes = {
case GET(p"/") => controller.index
}
}
将以下行添加到 conf/routes:
-> /api api.ApiRouter
问题 - 在上面的示例中,由于 /api
已经映射到 ApiRouter
,GET(p"/")
是否解析为 somedomain.com/api/
或somedomain.com/
它将解析为 somedomain.com/api/
,这是 SIRD 的主要思想 - 它允许您模块化路由器。
以下示例来自 Play 的文档
要将路由 DSL 与使用路由文件和控制器的常规 Play 项目结合使用,请扩展 SimpleRouter:
package api
import javax.inject.Inject
import play.api.mvc._
import play.api.routing.Router.Routes
import play.api.routing.SimpleRouter
import play.api.routing.sird._
class ApiRouter @Inject()(controller: ApiController)
extends SimpleRouter
{
override def routes: Routes = {
case GET(p"/") => controller.index
}
}
将以下行添加到 conf/routes:
-> /api api.ApiRouter
问题 - 在上面的示例中,由于 /api
已经映射到 ApiRouter
,GET(p"/")
是否解析为 somedomain.com/api/
或somedomain.com/
它将解析为 somedomain.com/api/
,这是 SIRD 的主要思想 - 它允许您模块化路由器。