1. HTTP - POST Method
- 주소 창에 파라미터가 노출 되지 않습니다.
- Example) www.localhost:8080/search
- 주소 창에 사용자의 요청 사항이 노출 되지 않는다. Get 방식에서는 주소 길이 제한이 있지만 POST는 그보다 길게 가능합니다. (제한존재)
- 브라우저가 주소 캐시를 하지 못하는 특성이 있습니다.
만약 주소가 같다면 springboot는 실행되지 않습니다.
왜냐하면, 어떠한 주소로 매칭시켜야할지 컴퓨터는 알 수 없기 때문에 에러가 뜹니다.
하지만, get과 post는 다른 성질이어도 주소가 같게 설정한다면 springboot는 실행하는데 문제가 전혀 없습니다.
post해주는 부분은 SearchParam으로 객체값을 받아올 수 있지만 post body에 data를 집어넣고 보내기 때문에 반드시 "@RequestBody"를 매개변수에 함께 넣어주어야 합니다.
다음은 응답 코드입니다. 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 |