.NET Core Web API - HTTP Verbs


HTTP verbs are used to perform different actions on resources. These HTTP methods define the type of operation that should be performed on a resource when making a request to a web API endpoint.

.NET Core web API HTTP Verbs

Here are some commonly used HTTP verbs or methods in ASP.NET Web API with examples:

  1. Get
  2. Post
  3. Put
  4. Delete
  5. Patch
  6. Options
  7. Head
HTTP Method CRUD Collection Resource (e.g. /products) Single Resouce (e.g. /products/123)
POST Create 201 (Created), ‘Location’ header with link to /products/{id} containing new ID Avoid using POST on a single resource
GET Read 200 (OK), list of users. Use pagination, sorting, and filtering to navigate big lists 200 (OK), single user. 404 (Not Found), if ID not found or invalid
PUT Update/Replace 405 (Method not allowed), unless you want to update every resource in the entire collection of resource 200 (OK) or 204 (No Content). Use 404 (Not Found), if ID is not found or invalid
PATCH Partial Update/Modify 405 (Method not allowed), unless you want to modify the collection itself 200 (OK) or 204 (No Content). Use 404 (Not Found), if ID is not found or invalid
DELETE Delete 405 (Method not allowed), unless you want to delete the whole collection — use with caution 200 (OK). 404 (Not Found), if ID not found or invalid

1. GET

Get is used to retrieves a representation of a resource or a collection of resources. It should be used for safe and idempotent operations that do not modify the state of the server.

Example - Retrieve a list of products.

[HttpGet]
public IHttpActionResult GetProducts()
{
   // Retrieve and return the list of products
}

2. POST

Post is used to send data to the server to create a new resource. It is often used for submitting form data or sending data to be processed on the server.

Example - Create a new product.

[HttpPost]
public IHttpActionResult CreateProduct(Product product)
{
   // Create the product and return the result
}

3. PUT

Put is used to update an existing resource or create a new resource with a specific identifier. It is used to updates an existing resource with the provided data. It replaces the entire resource with the new representation.

Example - Update an existing product.

[HttpPut]
public IHttpActionResult UpdateProduct(int id, Product product)
{
// Update the product with the specified ID and return the result
}

4. DELETE

Delete verb is used to delete an existing resource.

Example - Delete a product.

[HttpDelete]
public IHttpActionResult DeleteProduct(int id)
{
   // Delete the product with the specified ID and return the result
}

5. PATCH

Partially updates an existing resource. It allows modifying only specific fields or properties of a resource without replacing the entire representation.

Example - Partial update of a product.

[HttpPatch]
public IHttpActionResult PartialUpdateProduct(int id, Delta<Product> productDelta)
{
   // Apply the partial update to the product with the specified ID and return the result
}

6. OPTIONS

It is used to retrieves the HTTP methods and other options available for a resource. It is often used to retrieve information about the API and its capabilities.

Example - Get the allowed methods for a resource.

[HttpOptions]
public IHttpActionResult GetOptions()
{
     // Return the allowed methods and other information about the resource
}

7. HEAD

This is identical to a GET request, but only returns the headers for the response, not the response body. Theoretically faster, commonly used for checking to see if a particular resources exists or can be accessed.

Here's an example of a HEAD request.

HEAD /api/products/123 HTTP/1.1
Host: tutorialstrend.com

The server would respond with the headers for the requested resource, without including the actual content.

These are some of the most commonly used HTTP verbs in .NET Core Web API. By using the appropriate HTTP verb for each API endpoint, you can follow the RESTful principles and provide a clear and consistent interface for interacting with your API.


Next