Как поддерживать сетевые ресурсы в ActiveWeb - PullRequest
0 голосов
/ 19 февраля 2019

Две модели с именами "Post" и "Comment", и я хочу построить маршрут RESTful, как /post/123/comment/8 и CommentsController, обрабатывающие все действия RESTful.

Я пробовал

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

и

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

И никто не работает: (

1 Ответ

0 голосов
/ 20 февраля 2019

Вам не нужен набор маршрутов RESTful с точки зрения среды AvctiveWeb: 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

...