REST API
: REpresentational State Transfer
어떤 자원에 대해 CRUD를 진행할 수 있게 HTTP Method(GET, POST, PUT, DELETE)를 사용하여 요청을 보내는 것이다.
이 때, 요청을 위한 자원은 특정한 형태로 표현된다.
"URI를 통해 정보의 자원을(only 자원만을) 표현하고, 자원의 행위는 HTTP Method로 명시한다."
- 자원(Resource) : URI **URL 과 같은 브라우저 주소를 말함
- 행위(Verb) : HTTP Method
- 표현(Representations)
예를 들면,
GET /users/3/profile
= user 중에서 3번 아이디를 갖고있는 사람의 프로필을 줘!
행위 : GET
자원: /users/3/profile
REST API 의 규칙
http://example.com/posts (O)
http://example.com/posts/ (X)
http://example.com/post (X)
http://example.com/get-posts (X)
--> URI는 명사를 사용하고 소문자로 작성되어야 한다.
--> 명사는 복수형을 사용한다.
--> URI의 마지막에는 /를 포함하지 않는다.
-------------------------------------------------
http://example.com/post-list (O)
http://example.com/post_list (X)
--> URI에는 언더바가 아닌 하이픈을 사용한다.
-------------------------------------------------
http://example.com/post/assets/example (O)
http://example.com/post/assets/example.png (X)
--> URI에는 파일의 확장자를 표시하지 않는다.
RestFul 하다는 것은?
위의 REST API의 까다로운 조건을 만족시킨 통신 설계 상태를 말한다.
그 누가 보더라도 이해하기 쉽고, 사용하기 쉬운 REST API라면 “RestFul하다” 라고 할 수 있다.
Path Variable vs Query Parameter
(1) Path Variable
: 경로에다가 변수를 쓰는 것
전체 데이터 또는 특정 하나의 데이터를 다룰 때 처럼, 리소스를 식별하기 위해 사용된다.
/users/10 10이 변수
(2) Query PArameter
: 경로에다가 변수를 쓰는 것
/users?user_id=10
데이터를 정렬하거나 필터링 하는 경우 더 적합하다. 데이터의 순서, 정렬할 때 적합하다.
728x90
반응형
'부트캠프 개발일지 2023-2024 > React 리액트' 카테고리의 다른 글
[7주차] 리액트숙련: Action Values, Action Creators (1) | 2023.11.20 |
---|---|
[7주차] 리액트숙련: JSON (NoSQL 데이터 설계를 위한 기초지식) (0) | 2023.11.17 |
[7주차] 리액트숙련: 비동기 프로그래밍 입문(Promise) (0) | 2023.11.17 |
[6주차] 리액트숙련: React Router Dom - Dynamic Route, useParams (0) | 2023.11.10 |
[6주차] 리액트 숙련: React Router Dom - 소개, hooks, children (0) | 2023.11.10 |