HTTP 를 통신을 할 때는 아래 4가지 통신 규약을 이용한다.
GET, POST, PUT, DELETE
GET은 보통 조회를 할 때 사용한다.
DB로 생각했을때는 SELECT에 해당
예를들어, 회원가입한 사용자의 정보를 알고 싶다면, 아래처럼 사용한다.
GET http://localhost:8080/rest/api/v1/user/1
POST는 보통 데이터를 추가할 때 사용한다.
DB로 생각했을때는 INSERT에 해당
회원 가입을 하는 경우, POST 방식으로 사용자의 정보를 함께 전송한다.
POST http://localhost:8080/rest/api/v1/user
{
"username": "아무개",
"password": "1234",
"email": "test@google.com",
...
}
보통 생성 과정이 성공적으로 끝나면, 응답값으로 201 CREATED를 보낸다. (아래 글 참고, 출처: MSDN)
출처: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201
PUT은 데이터를 수정 할 때 사용한다.
DB로 생각했을때는 UPDATE에 해당
사용자의 정보를 수정하고 싶은 경우, 수정하고 싶은 사용자 정보와 함께 PUT 방식으로 요청한다.
위 POST와 동일한 URL로 요청하지만, HTTP 메소드가 다르기 때문에 다르게 동작한다.
PUT http://localhost:8080/rest/api/v1/user/{user_id}
예시: PUT http://localhost:8080/rest/api/v1/user/1
{
"password": "4321"
}
DELETE는 데이터를 삭제할 때 사용한다.
DB로 생각했을때는 DELETE에 해당
사용자의 정보를 지우고 싶은 경우(탈퇴 처리) , DELETE 방식으로 사용자의 ID의 값과 함께 요청한다.
DELETE http://localhost:8080/rest/api/v1/user/{user_id}
예시: DELETE http://localhost:8080/rest/api/v1/user/1
꼭 GET일때는 데이터를 조회해야하고, POST일때는 생성할 필요없다. 원하는대로 사용해도 기능상에는 문제가 없지만, 통신 규약이다 보니 위 처럼 사용하는것을 권장한다.