两个名为“ Post”和“ Comment”的模型,我想构建像/post/123/comment/8
和CommentsController
这样的RESTful路由来处理所有RESTful动作。
我尝试过
route("/posts/{post_id}/comments/*").to(CommentsController.class);
和
route("/posts/{post_id}/comments/*").to(CommentsController.class).get().post().put().delete();
没有任何效果:(
答案 0 :(得分:0)
从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