Các HTTP verbs (phương thức HTTP) bao gồm phần lớn ràng buộc "giao diện thống nhất" và cung cấp đối tác hành động cho tài nguyên dựa trên danh từ. Các HTTP verbs phổ biến nhất (POST, GET, PUT, PATCH, DELETE) tương ứng với các thao tác tạo, đọc, cập nhật, xóa (CRUD). Có nhiều verb khác nhưng ít dùng hơn, trong đó OPTIONS và HEAD được dùng nhiều hơn.
Phương thức hành động có thể đặt tên theo HTTP verbs như Get, Post, Put, Patch, Delete. Tuy nhiên, ta có thể thêm hậu tố cho HTTP verbs để tăng khả năng đọc. Ví dụ: phương thức Get có thể là GetAllStudents() hoặc tên bất kỳ bắt đầu bằng Get.
Ví dụ đặt tên theo convention
public class DemoController : ApiController
{
public IHttpActionResult GetAllStudents()
{
// Lấy dữ liệu sinh viên
return Ok();
}
public IHttpActionResult Post([FromBody]Student student)
{
// Thêm sinh viên
return Ok();
}
public IHttpActionResult Put([FromBody]Student student)
{
// Cập nhật sinh viên
return Ok();
}
public IHttpActionResult Delete(int id)
{
// Xóa sinh viên
return Ok();
}
}
Cách khác định nghĩa Http Verb của phương thức hành động thay vì đặt tên là sử dụng Http Verb Attribute. Ta có thể dễ dàng giới hạn truy cập phương thức ASP.NET Web API chỉ được gọi bằng một HTTP method cụ thể.
Ví dụ sử dụng Http Verb Attribute
using DemoWebApplication.Models;
using System.Collections.Generic;
using System.Web.Http;
namespace DemoWebApplication.Controllers
{
public class DemoController : ApiController
{
[HttpGet] // HttpVerb Attribute
public IHttpActionResult FetchStudentsList()
{
List students = new List
{
new Student { Id = 1, Name = "Mark" },
new Student { Id = 2, Name = "John" }
};
return Ok(students);
}
}
}

Thử truy cập phương thức hành động trên bằng POST request.

Khi gửi POST request đến FetchStudentsList, ta nhận được phản hồi 405 Method Not Allowed vì nó được trang trí bằng attribute [HttpGet].