데이터 전달 방식은 크게 2가지
쿼리 파라미터 미사용

쿼리 파라미터 사용
검색, 정렬 필터
GET 사용
파라미터를 사용하여 데이터 전달

message body에 데이터 담아서 전송 (key = value)
Application/json 을 주로 사용
서버와 서버간의 백엔드 시스템 통신에서 주로 사용
HTML Form 전송 대신 자바 스크립트를 통한 통신에 사용(AJAX)
POST, PUT, PATH (message body), GET(parameter) 모두 가능
회원 관리 시스템
Ex) API 설계는 리소스만 식별하자!
회원 목록 /members -> GET
회원 등록 /members -> POST
회원 조회 /members/{id} -> GET
회원 수정 /members/{id} -> PATCH, PUT, POST
회원 삭제 /members/{id} -> DELETE
클라이언트는 등록될 리소스의 URI(name, location)를 모른다
서버가 새로 등록되 리소스 URI를 생성해준다.
컬렉션(Collection)
자원을 그룹화하거나 모아둔 것
서버가 관리하는 리소스 디렉토리
서버가 리소스의 URI를 생성하고 관리
위에서 컬렉션은 /members
파일 관리 시스템
Ex)
파일 목록 /files -> GET
파일 조회 /files/{filename} -> GET
파일 등록 /files/{filename} -> PUT
파일 삭제 /files/{filename} -> DELETE
파일 대량 등록 /files -> POST
클라이언트가 리소스 URI를 알고 있어야 한다.
클라이언트가 직접 리소스의 URI를 지정
스토어(store)
데이터를 저장하거나 생성하는 역할을 하는 엔드포인트
GET, POST만 사용 가능