진짜 wecode 초반부터 엄청나게 많이 들었는데 한달이 지난 지금에서야 조금씩 이해가 된다.
정의:
REST(REpresentational State Transfer)란 웹에 존재하는 모든 자원(resorce, ex. 이미지, 동영상, 데이터)에 고유한 URI를 부여하여 자원에 대한 주소를 지정하는 방법론, 또는 규칙입니다. 현재 가장 널리 사용되고 있습니다. 따라서, RESTful API는 REST 특징을 지키면서 API를 제공한다는 의미입니다.
그냥 단순히 말하면 육하원칙처럼 말할 때의 규칙처럼 웹 개발자에게 주어진 예절같은 규칙(?),
안지켜도 뭐라고 안하지만 지향을 하는 것들.
부엉이 닮은 아저씨가 눈 동그랗게 뜨고 REST API를 열심히 설명하는 영상도 있다. (표정으로 설명함)
자원을 구조와 함께 나타내는 것을 URI를 함.
CRUD
Create
Read
Update
Delete
만들고 읽고 수정하고 삭제하고 하는 기능이 REST api에 있는데
http method
GET, POST , PUT, DELETE 간혹 PATCH를 포함해
4~5가지를 사용해서 REST api CRUD기능을 구현함.
get과 delete는 body가 없어 다른 메소드에 비해 상대적으로 적은 정보를 담고있다.
HTTP Method별 crud배정
GET - READ
POST - CREATE / BODY가지고 있음
PUT, PATCH - UPDATE // PUT은 정보를 통채로 갈아끼울 때, PATCH는 특정 정보만 수정할 때
DELETE - DELETE
일단 동사가 들어가면 안되고 url에 들어가야할 것 들은 대표적으로
Resource 와 Method가 있다.
Method는 동사로 이루어져있고 이거 외에는 다 명사로 이루어져야 한다. (POST, GET, PUT, DELETE , PATCH)
Resource 는 다 명사.
일단 어떤 코드이던 대충 뭘 의도하는 함수인지가 드러나야됨. 일관성
그래서 결론은
리소스로만 url을 관리한다.
하지만 그 같은 url에 다른 메소드를 붙임으로 구분한다.
예시)
8000/store
에서
get은 store 정보 가져오기
post는 store add 하기