클라이언트에서 서버로 데이터 전송

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

+ Recent posts