본문 바로가기

개발

HTTP 메소드

HTTP 메서드의 종류

https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods 에 들어가면 위와같이 9개의 메소드가 정의되어있습니다. 저는 이 중에서 자주 쓰는 5개에 대해서 이야기 해보려 합니다. 특히 REST API는 URI 정의와 HTTP메소드를 알맞게 쓰는 것이 중요하기 때문입니다.

예시는 아래의 EMP 테이블로 하겠습니다.

EMP

ID name age position
132 제임스 29 개발자
243 30 기획자

GET

해당 URI에 알맞은 자료를 가져옵니다. 예를 들어 GET /emp/{ID} 라는 API가 정의되어있으면 클라이언트에서 GET /emp/132 를 호출하면 아래와 같이 response를 반환합니다.

{
	
	ID       : 132,
	name     : "제임스",
	age      : 29,
	position : 개발자
    
}

 

POST

해당 URI에 새로운 자료를 입력합니다. 예를 들어 POST /emp/{ID}라는 API가 정의되어 있으면 클라이언트에서 POST /emp/335 를 호출할때 아래와 같이 request body를 넣으면 EMP 테이블에 새로운 자료가 생깁니다.

{
	
	ID       : 335,
	name     : "크리스",
	age      : 44,
	position : 개발자
    
}
ID name age position
132 제임스 29 개발자
243 30 기획자
335 크리스 44 개발자

 

PUT

해당 URI에 해당하는 자료를 전체 업데이트 합니다. 예를 들어 PUT /emp/{ID}라는 API가 정의되어 있으면 클라이언트에서 PUT /emp/335를 호출하며 아래와 같이 request body를 넣으면 EMP 테이블이 업데이트 됩니다(요청에 없는 컬럼은 null로 업데이트).

{

	age      : 45   
    
}
ID name age position
132 제임스 29 개발자
243 30 기획자
335 null 45 null

 

PATCH

해당 URI에 해당하는 자료를 부분 업데이트 합니다. 예를 들어 PATCH /emp/{ID}라는 API가 정의되어 있으면 클라이언트에서 PATCH /emp/335를 호출하며 아래와 같이 request body를 넣으면 id가 335에 해당하는 컬럼만 업데이트 됩니다.

{

	name : "크리스",
	age      : 44,
    
}

 

ID name age position
132 제임스 29 개발자
243 30 기획자
335 크리스 44 null