해당 강의를 들으며 간단 정리하며 공부한 글입니다.
좋은 API 설계
리소스 식별
ex_회원을 등록하고 수정하고 조회하는 것을 모두 배제
👉 회원이라는 리소스만 식별하면 된다. -> 회원 리소스를 URI에 매핑
🌟 리소스와 해당 리소스를 대상으로 하는 행위를 분리
🌟 HTTP 메서드 종류
GET: 리소스 조회
POST: 요청 데이터 처리, 주로 등록에 사용
PUT: 리소스를 대체, 해당 리소스가 없으면 생성
PATCH: 리소스 부분 변경
DELETE: 리소스 삭제기타 메서드
HEAD: GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환
OPTIONS: 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용)
CONNECT, TRACE 등
GET
POST
🌟 POST 정리
- 새 리소스 생성(등록)
- 서버가 아직 식별하지 않은 새 리소스 생성
- 요청 데이터 처리
- 단순히 데이터를 생성하거나, 변경하는 것을 넘어서 프로세스를 처리해야 하는 경우
- ex_주문에서 결제 완료 -> 배달 시작 -> 배달 완료 처럼 단순히 값 변경을 넘어 프로세스 상태가 변경되는 경우
- POST의 결과로 새로운 리소스가 생성되지 않을 수도 있음
- ex_POST /orders/{orderId}/start-delivery (컨트롤 URI)
- 다른 메서드로 처리하기 애매한 경우
- ex_JSON으로 조회 데이터를 넘겨야 하는데, GET 메서드를 사용하기 어려운 경우
- 애매하면 POST
PUT
PATCH
DELETE
🚀 서버와 요청, 응답을 주고 받는 방식을 더 잘 이해하게 돼서 좋다.