如何在 ActiveWeb 中支持嵌套资源

How to support netsted resources in ActiveWeb

两个名为 "Post" 和 "Comment" 的模型,我想构建 RESTful 路由,如 /post/123/comment/8CommentsController 处理所有 RESTful动作。

我试过了

route("/posts/{post_id}/comments/*").to(CommentsController.class);

route("/posts/{post_id}/comments/*").to(CommentsController.class).get().post().put().delete(); 

并且 none 有效:(

您需要的不是来自 AvctiveWeb 框架的 RESTful 组路由:http://javalite.io/routing#restful-routing

您要做的是定义一些自定义路由。并不是说它们不是基于 REST 的。

这是有效的示例:

路线:

public class RouteConfig extends AbstractRouteConfig{
    public void init(AppContext appContext) {
        route("/posts/{post_id}/comments/{comment_id}").to(CommentsController.class).action("index").get();
    }
}

控制器:

public class CommentsController extends AppController {
    public void index(){
        respond("index, post:" + param("post_id") + ", comment: " + param("comment_id"));
    }
}

然后点击这个:

http://localhost:8080/posts/123/comments/456

并观察:

index, post:123, comment: 456