REST API

HTTP - POST Method & PUT/PATCH Method & DELETE Method (feat. REST의 개념)

appmaster 2021. 3. 17. 18:43

1. HTTP - POST Method

  • 주소 창에 파라미터가 노출 되지 않습니다.
  • Example) www.localhost:8080/search
  • 주소 창에 사용자의 요청 사항이 노출 되지 않는다. Get 방식에서는 주소 길이 제한이 있지만 POST는 그보다 길게 가능합니다. (제한존재)
  • 브라우저가 주소 캐시를 하지 못하는 특성이 있습니다.

 

만약 주소가 같다면 springboot는 실행되지 않습니다.

왜냐하면, 어떠한 주소로 매칭시켜야할지 컴퓨터는 알 수 없기 때문에 에러가 뜹니다.

하지만, get과 post는 다른 성질이어도 주소가 같게 설정한다면 springboot는 실행하는데 문제가 전혀 없습니다.

 

Post해주는 소스코드
get해주는 소스코드

 

post해주는 부분은 SearchParam으로 객체값을 받아올 수 있지만 post body에 data를 집어넣고 보내기 때문에 반드시 "@RequestBody"를 매개변수에 함께 넣어주어야 합니다.

 

post 응답

다음은 응답 코드입니다. JSON형식으로 데이터값을 집어넣은후에 값이 잘 보내지는지 확인한 부분입니다.

 

 

 

2. HTTP - PUT/PATCH Method

  • POST와 마찬가지로 BODY에 데이터가 들어 있으며, 주로 업데이트에 사용합니다.

다음은 데이터베이스에 특정 자원을 업데이트 시킬때, post body에 해당 데이터를 넣어서 업데이트를 요청합니다.

 

 

 

3. HTTP - DELETE Method

  • Get과 마찬가지로 주소에 파라미터가 들어가며, 데이터를 삭제 할 때 사용합니다.

 

 

4. REST의 개념

  • HTTP 프로토콜에 있는 Method를 활용한 아키텍처 스타일입니다.
  • HTTP Method를 통해서 Resource를 처리 합니다.
  • CRUD를 통한 Resource 조작을 할 때 사용 합니다.
HTTP Method 동작 URL 형태
GET 조회 (SELECT*READ) /user/{id}
POST 생성 (CREATE) /user
PUT / PATCH 수정 (UPDATE) * CREATE /user
DELETE 삭제 (DELETE) /user/{1}

 

'REST API' 카테고리의 다른 글

Spring vs Spring boot  (0) 2021.03.17
HTTP - GET Method (파라미터 이용방법, JSON형식으로 반환)  (0) 2021.03.17
Resource와 Method  (0) 2021.03.11
REST API란? (feat. API란?)  (0) 2021.03.11