REST API는 웹에서 데이터를 전송 및 처리하는 방법을 정의한 인터페이스를 말한다.
GET방식은 데이터를 요청할 때 Header 부분의 url에 담겨서 전송된다. 그래서 요청시 url상에 파라미터를 담아서 보내준다. GET 방식은 일반적으로 조회할 때 쓰인다.
POST는 보통 데이터를 추가할 때 사용한다. GET 방식과 달리 Body부분에 데이터를 담아 전송한다. 따라서 GET방식과 비교되게 제한적인 크기, 보안 부분에서 뛰어나다. POST 방식은 서버의 값이나 상태를 추가하기 위해서 사용된다.
POST http://localhost:8080/api
{
"message": "hi"
}
동일한 요청을 한 번 보내는 것과 여러번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때 해당 HTTP 메서드가 멱등성을 가졌다고 한다. 즉, 같은 경로로 여러 번 반복된 접근을 할 때 그 결과는 같은 효과를 지녀야한다.
GET, PUT, DELETE 메서드들은 멱등성을 지니지만 POST 메서드는 멱등성을 지니지 않는다. 왜냐하면 POST는 데이터를 추가하는 형태를 가지고 있어서 그 때 마다 서버의 응답은 다른 형태, 다른 효과를 지니게 된다.
데이터를 수정할 때 사용한다.
DELETE는 데이터를 삭제할 때 사용한다.