2.7 KiB
Implement the other CRUD operations
In the following sections, Create
, Update
, and Delete
methods are added to the controller.
Create
Add the following Create
method.
The preceding code is an HTTP POST method, indicated by the [HttpPost]
attribute. The [FromBody]
attribute tells MVC to get the value of the to-do item from the body of the HTTP request.
The CreatedAtRoute
method:
- Returns a 201 response. HTTP 201 is the standard response for an HTTP POST method that creates a new resource on the server.
- Adds a Location header to the response. The Location header specifies the URI of the newly created to-do item. See 10.2.2 201 Created.
- Uses the "GetTodo" named route to create the URL. The "GetTodo" named route is defined in
GetById
:
Use Postman to send a Create request
- Set the HTTP method to
POST
- Select the Body radio button
- Select the raw radio button
- Set the type to JSON
- In the key-value editor, enter a Todo item such as
{
"name":"walk dog",
"isComplete":true
}
- Select Send
- Select the Headers tab in the lower pane and copy the Location header:
The Location header URI can be used to access the new item.
Update
Add the following Update
method:
Update
is similar to Create
, but uses HTTP PUT. The response is 204 (No Content). According to the HTTP spec, a PUT request requires the client to send the entire updated entity, not just the deltas. To support partial updates, use HTTP PATCH.
Delete
Add the following Delete
method:
The Delete
response is 204 (No Content).
Test Delete
: