0

两个模型名为“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(); 

没有一个工作:(

4

1 回答 1

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

于 2019-02-20T02:59:31.057 回答