클라이언트에서 서버로 데이터 전송
1) 쿼리 파라미터를 통한 데이터 전송 (ex. GET) / 주로 정렬 필터
2) 메시지 바디를 통한 데이터 전송 POST,PUT,PATCH / 회원 가입, 상품주문, 등록, 변경
--------------------------------------------------------------
HTTP API 설계 예시
HTTP API - 컬렉션
POST 기반등록
예) 회원관리 API제공
HTTP API - 스토어
PUT 기반 등록
예) 정적 컨텐츠 관리, 원격 파일 관리
HTML FORM 사용
웹 페이지 회원 관리
GET, POST만 지원
--------------------------------------------------------------
회원 관리 시스템
API 설계 - POST 기반 등록
회원 목록 /members -> GET
회원 등록 /members -> POST
회원 조회 /members/{id} -> GET
회원 수정 /members/{id} -> PATCH,PUT, (천하무적) POST
회원 삭제 /members/{id} -> DELETE
>> URI 핵심은 리소스를 식별하는거
>>★ POST방식으로 데이터를 등록을 할 때는 서버에서 리소스 URI
결정하고 만들어준다. >>> 이러한 형식을 컬렉션(Collection) 이라 한다.
--------------------------------------------------------------
HTML FORM 사용
GET,POST만 지원
AJAX같은 기술을 사용해서 해결가능
★컨트롤 URI << 실무에서 많이 쓸수밖에 없음 / 동사를 직접 사용
GET, POST만 지원하므로 제약이 있음
이런 제약을 해결하기 위해 동사로ㄷ 된 리소스 경로 사용
POST의 /new, ./edit, /delete가 컨트롤 URI
★ 최대한 리소스라는 개념을 가지고 설계하고, 안될때 대체제로 사용한다
--------------------------------------------------------------
유용한 사이트 : https://restfulapi.net/resource-naming/
REST Resource Naming Guide
In REST, having a strong and consistent REST resource naming strategy – will prove one of the best design decisions in the long term.
restfulapi.net
김영한 강사님의 노하우 (인프런 HTTP 강의에 다 있음)
첫번째,리소스를 '미네랄을 캐라' 여기서 캐라는 리소스가 아니다.버린다
미네랄만 가지고 설계를 한다. 회원(member).
/memebers 컬렉션이기에 복수를 해서 's'
주문이면 /orders
상세는 /orders/?/
이렇게 했는데도 해결되지 않을때, 컨트롤 URI 시전하기.
기준은 컬렉션과 문서를 가지고 최대한 해결하자.GET,POST,PUT,DELETE로 해결한다
이걸로 해결 안 될때, 컨트롤 URI 넣어서 해결한다.
[출처]- 인프런 김영한 '모든 개발자를 위한 HTTP 웹 기본 지식'] 강의듣고 정리
'HTTP' 카테고리의 다른 글
HTTP 헤더 - 캐시와 조건부 요청 (0) | 2022.05.11 |
---|---|
HTTP 헤더 (0) | 2022.05.09 |
HTTP 상태코드 (0) | 2022.04.28 |
HTTP_ 메서드 (0) | 2022.04.26 |
HTTP_ 공부 내용 요약(1) (0) | 2022.04.25 |