I installed the new ASP .Net MVC4 beta on my machine and have been trying to understand how the Web API works. I built a demo for a single collection (ex. books). I followed the example on the asp.net website. I implemented my own methods for posting to a collections i.e. adding a new book, getting all books, getting a particular book, updating a book and deleting a book record. All this works fine.
Ex:
POST /books - adds a new book
GET /books - gets all books
GET /books/1-get a particular book
PUT /books/1- update a particular book
DELETE /books/1-delete a particular book
Now I want to add another collection inside the books collection, say authors and want to implement the same POST, PUT, GET and DELETE calls for the new collection
I want the new calls to be something like this:
POST /books/1/authors - add a new author to a book
GET /books/1/authors - gets all authors of a book
GET /books/1/authors/a@a.com -get a particular author for a book
PUT /books/1/authors/a@a.com - update a particular author for a book
DLETE /books/1/authors/a@a.com -delete a particular author for a book
I am confused how to add a route to make this call work. By default I get this route with the project.
routes.MapHttpRoute(
name:"DefaultApi",
routeTemplate:"api/{controller}/{id}",
defaults:new{ id =RouteParameter.Optional}
);
What is the right way to handle routes in this pattern for collections and associations between them?
- Shashikiran