Как поддерживать сетевые ресурсы в ActiveWeb

Две модели с именами "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 ответ

То, что вам нужно, это не набор RESTful маршрутов с точки зрения инфраструктуры AvctiveWeb: http://javalite.io/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: // локальный: 8080 / сообщений / 123 / комментарии / 456

и наблюдать:

index, post:123, comment: 456

Другие вопросы по тегам