์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ๋ฐ๋ธ์ฝ์ค
- useRef
- useEffect
- fetch API
- ๋ธ๋ก๊ทธ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๋ก ํธ์๋
- ํ๋ก๊ทธ๋๋จธ์ค
- Gatsby
- history api
- Props
- float
- ์ฝ๋ฉํ ์คํธ
- REACT
- position
- Flex
- ์๊ณ ๋ฆฌ์ฆ
- CSS
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- Today
- Total
Daehyunii's Dev-blog
44์ฅ REST API(โป๋จ์ ๊ฐ๋ ๋ง ์ ๋ฆฌ) ๋ณธ๋ฌธ
44์ฅ REST API(โป๋จ์ ๊ฐ๋ ๋ง ์ ๋ฆฌ)
Daehyunii 2022. 7. 29. 21:20REST๋ HTTP/1.0๊ณผ 1.1์ ์คํ ์์ฑ์ ์ฐธ์ฌํ๊ณ ์ํ์น HTTP ์๋ฒ ํ๋ก์ ํธ์ ๊ณต๋ ์ค์ง์์ธ ๋ก์ด ํ๋ฉ์ 2000๋ ๋ ผ๋ฌธ์์ ์ฒ์ ์๊ฐ๋์๋ค. ๋ฐํ ๋น์์ ์น์ด HTTP๋ฅผ ์ ๋๋ก ์ฌ์ฉํ์ง ๋ชปํ๊ณ ์๋ ์ํฉ์ ๋ณด๊ณ HTTP์ ์ฅ์ ์ ์ต๋ํ ํ์ฉํ ์ ์๋ ์ํคํ ์ฒ๋ก์ REST๋ฅผ ์๊ฐํ๊ณ ์ด๋ HTTP ํ๋กํ ์ฝ์ ์๋์ ๋ง๊ฒ ๋์์ธํ๋๋ก ์ ๋ํ๊ณ ์๋ค. REST์ ๊ธฐ๋ณธ ์์น์ ์ฑ์คํ ์งํจ ์๋น์ค ๋์์ธ์ "RESTful"์ด๋ผ๊ณ ํํํ๋ค. ์ฆ, REST๋ HTTP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ฆฌ์์ค์ ์ ๊ทผํ๋ ๋ฐฉ์์ ๊ท์ ํ ์ํคํ ์ฒ๊ณ , REST API๋ REST๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค API๋ฅผ ๊ตฌํํ ๊ฒ์ ์๋ฏธํ๋ค.
44.1 REST API ๊ตฌ์ฑ
REST API๋ ์์, ํ์, ํํ์ 3๊ฐ์ง ์์๋ก ๊ตฌ์ฑ๋๋ค. REST๋ ์์ฒด ํํ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด REST API๋ง์ผ๋ก HTTP ์์ฒญ์ ๋ด์ฉ์ ์ดํดํ ์ ์๋ค.
๊ตฌ์ฑ ์์ | ๋ด์ฉ | ํํ ๋ฐฉ๋ฒ |
์์ | ์์ | URI |
ํ์ | ์์์ ๋ํ ํ์ | HTTP ์์ฒญ ๋ฉ์๋ |
ํํ | ์์์ ๋ํ ํ์์ ๊ตฌ์ฒด์ ๋ด์ฉ | ํ์ด๋ก๋ |
44.2 REST API ์ค๊ณ ์์น
REST์์ ๊ฐ์ฅ ์ค์ํ ๊ธฐ๋ณธ์ ์ธ ์์น์ ๋ ๊ฐ์ง๋ค.
1. URI๋ ๋ฆฌ์์ค๋ฅผ ํํํด์ผ ํ๋ค.
URI๋ ๋ฆฌ์์ค๋ฅผ ํํํ๋ ๋ฐ ์ค์ ์ ๋์ด์ผ ํ๋ค. ๋ฆฌ์์ค๋ฅผ ์๋ณํ ์ ์๋ ์ด๋ฆ์ ๋์ฌ๋ณด๋ค๋ ๋ช ์ฌ๋ฅผ ์ฌ์ฉํ๋ค. ๋ฐ๋ผ์ ์ด๋ฆ์ get ๊ฐ์ ํ์์ ๋ํ ํํ์ด ๋ค์ด๊ฐ์๋ ์ ๋๋ค.
2. ๋ฆฌ์์ค์ ๋ํ ํ์๋ HTTP ์์ฒญ ๋ฉ์๋๋ก ํํํ๋ค.
HTTP ์์ฒญ ๋ฉ์๋๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์์ฒญ์ ์ข ๋ฅ์ ๋ชฉ์ ์ ์๋ฆฌ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฃผ๋ก 5๊ฐ์ง ์์ฒญ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ CRUD๋ฅผ ๊ตฌํํ๋ค.
HTTP ์์ฒญ ๋ฉ์๋ | ์ข ๋ฅ | ๋ชฉ๋ก | ํ์ด๋ก๋ |
GET | index/retrieve | ๋ชจ๋ /ํน์ ๋ฆฌ์์ค ์ทจ๋ | x |
POST | create | ๋ฆฌ์์ค ์์ฑ | o |
PUT | replace | ๋ฆฌ์์ค์ ์ ์ฒด ๊ต์ฒด | o |
PATCH | modify | ๋ฆฌ์์ค์ ์ผ๋ถ ์์ | o |
DELETE | delete | ๋ชจ๋ /ํน์ ๋ฆฌ์์ค ์ญ์ | x |
๋ฆฌ์์ค์ ๋ํ ํ์๋ HTTP ์์ฒญ ๋ฉ์๋๋ฅผ ํตํด ํํํ๋ฉฐ URI์ ํํํ์ง ์๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฆฌ์์ค๋ฅผ ์ทจ๋ํ๋ ๊ฒฝ์ฐ์๋ GET, ๋ฆฌ์๋ฅผ ์ญ์ ํ๋ ๊ฒฝ์ฐ์๋ DELETE๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค์ ๋ํ ํ์๋ฅผ ๋ช ํํ ํํํ๋ค.
'๐ Language & CS knowledge > JavaScript (๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ Deep Dive)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
46์ฅ ์ ๋๋ ์ดํฐ์ async/await(โป๋จ์ ๊ฐ๋ ๋ง ์ ๋ฆฌ) (0) | 2022.07.30 |
---|---|
45์ฅ ํ๋ก๋ฏธ์ค(โป๋จ์ ๊ฐ๋ ๋ง ์ ๋ฆฌ) (0) | 2022.07.30 |
42์ฅ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ (0) | 2022.07.29 |
39์ฅ DOM(๋ ธ๋๋ค๋ก ๊ตฌ์ฑ๋ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ) (0) | 2022.07.28 |
38์ฅ ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ๊ณผ์ (0) | 2022.07.28 |