play框架是否支持像rails这样的嵌套路由?

时间:2012-06-26 12:37:50

标签: playframework routes url-routing playframework-2.0

Rails使得可以映射逻辑上其他资源的子资源的资源在URL中,例如

/magazines/:magazine_id/ads/:id show    display a specific ad belonging to a specific magazine

是否可以在Play中执行此操作?

2 个答案:

答案 0 :(得分:7)

Play并不关心参数是否代表某种关系,它是你控制器的工作。

当然可以这样做:

GET /some/:parent/:child   controllers.Application.getRelated(parent: Long, child: Long)
控制器中的

public static Result getRelated(Long parent, Long child) {
    return ok(SomeFinder(parent,child));
}

答案 1 :(得分:2)

是的,这是可能的。它应该在您的路线文件中看起来像这样:

GET   /magazines/:magazine_id/ads/:id/show   controllers.MyController.show(magazine_id: Long, id: Long)  

在您的控制器中

public static Result show(Long magazine_id, Long id) {
    ...
}