HTTP 동사는 "균일한 인터페이스" 제약 조건의 주요 부분을 구성하고 명사 기반 리소스에 대응하는 작업을 제공합니다. 기본 또는 가장 일반적으로 사용되는 HTTP 동사(또는 적절하게 호출되는 메서드)는 POST, GET, PUT, PATCH 및 DELETE입니다. 이들은 각각 생성, 읽기, 업데이트 및 삭제(또는 CRUD) 작업에 해당합니다. 다른 동사들도 많이 있지만 덜 자주 사용됩니다. 빈도가 낮은 방법 중에서 OPTIONS 및 HEAD가 다른 방법보다 더 자주 사용됩니다.
작업 메서드는 Get, Post, Put, Patch 또는 Delete와 같은 HTTP 동사로 이름을 지정할 수 있습니다. 그러나 가독성을 높이기 위해 HTTP 동사로 접미사를 추가할 수 있습니다. 예를 들어 Get 메서드는 GetAllStudents() 또는 Get으로 시작하는 다른 이름일 수 있습니다.
예
public class DemoController : ApiController{
public IHttpActionResult GetAllStudents(){
//Retrieves students data
return Ok();
}
public IHttpActionResult Post([FromBody]Student student){
//Insert student data
return Ok();
}
public IHttpActionResult Put([FromBody]Student student){
//Update student data
return Ok();
}
public IHttpActionResult Delete(int id){
//Delete student data
return Ok();
}
} 이름 대신 작업 메서드의 Http 동사를 정의하는 다른 방법은 Http 동사 속성을 사용하는 것입니다. . 특정 HTTP 메서드를 사용하여 호출할 ASP.NET Web API 메서드에 대한 액세스를 쉽게 제한할 수 있습니다. .
예
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<Student> students = new List<Student>{
new Student{
Id = 1,
Name = "Mark"
},
new Student{
Id = 2,
Name = "John"
}
};
return Ok(students);
}
}
}

이제 post request를 사용하여 위의 action 메소드에 접근을 시도해보자.

FetchStudentsList 작업 메서드에 게시 요청을 보낼 때 405 메서드가 허용되지 않음이 표시됨을 알 수 있습니다. [HttpGet] 속성으로 데코레이션되어 있기 때문에 응답합니다.