2012-06-21 4 views
7

Я использую mvc webapi для создания REST API и изо всех сил пытаюсь найти пример, связанный с POST, для вложенных ресурсов.Использование asp webapi для размещения вложенного ресурса

В принципе, я хочу, чтобы POST комментарий к сообщению в блоге, используя URL, как:

~/posts/2/comments

Я хотел бы также, чтобы иметь возможность отправлять DELETE и PUTs к следующему

~/posts/2/comments/5

Как выглядит мой маршрут и как должна выглядеть моя подпись метода на моем PostsController?

Спасибо!

ответ

9

Для вложенных ресурсов я бы предложил создать очень конкретные маршруты для контроллеров/действий, к которым вы хотите получить доступ.

routes.MapHttpRoute(
    name: "Posts Routes", 
    routeTemplate: "api/posts/{postId}/comments/{commentID}", 
    defaults: new { controller = "Posts", action="CommentsForPosts" } 
); 

public HttpResponseMessage CommentsForPosts(int postId, int commentID) { 
    //go to work 
} 

Там не условность в рамках вложенных ресурсов, но маршрутизация дает вам возможность сопоставить свои контроллеры, методы и идентификаторы URI, однако вы посчитаете нужным

Смежные вопросы