Как поддерживать сетевые ресурсы в 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