-
RESTful API๋?Node.js 2023. 11. 14. 14:44
๐ฅ RESTful API๋?
REpresentational State Transfer์ ์ฝ์๋ก ์ํํธ์จ์ด ํ๋ก๊ทธ๋จ ์ํคํ ์ฒ์ ํ ํ์
๋ ์ปดํจํฐ ์์คํ ์ด ์ธํฐ๋ท์ ํตํด ์ ๋ณด๋ฅผ ์์ ํ๊ฒ ๊ตํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค๋ก
RSET๋ ์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํ์ฌ ํด๋น ์์์ ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ชจ๋ ๊ฒ์ ์๋ฏธํ๋ค
=> HTTP Method(POST, GET, PUT, DELETE, PATCH ๋ฑ)์ ํตํด์ ํจ๐ก HTTP Method
CRUD Operation์ด๋?
๋๋ถ๋ถ์ ์ปดํจํฐ ์ํํธ์จ์ด๊ฐ ๊ฐ์ง๋ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ธ
Create(์์ฑ), Read(์ฝ๊ธฐ), Update(๊ฐฑ์ ), Delete(์ญ์ )๋ฅผ ๋ฌถ์ด์ ์ผ์ปซ๋ ๋งCreate : ๋ฐ์ดํฐ ์์ฑ(POST)
Read : ๋ฐ์ดํฐ ์กฐํ(GET)
Update : ๋ฐ์ดํฐ ์์ (PUT, PATCH)
Delete : ๋ฐ์ดํฐ ์ญ์ (DELETE)๐ฅ API๋?
์น API๋ ํด๋ผ์ด์ธํธ์ ์น ๋ฆฌ์์ค ์ฌ์ด์ ๊ฒ์ดํธ์จ์ด
์ด์ ํฌ์คํ ์์ ๋น์ ํด์ ์ค๋ช ํด๋์๋ค.
API๋ ๋ฌด์์ธ๊ฐ
API (Application Programing Interface) ๋น์ ๋ฅผ ํ์๋ฉด! ์ฐ๋ฆฌ๋ ๋ง์ง์ ๊ฐ๋ค ๋ด๊ฐ ๋ง์๋ ๋์คํ๋ฅผ ๊ณ ๋ฅด๋ฉด, ์ง์์ด ์ฃผ๋ฌธ์ ๋ฐ์ ์๋ฆฌ์ฌ์๊ฒ ์์ฒญ์ ํ๋ค ๊ทธ๋ฌ๋ฉด ์๋ฆฌ์ฌ๋ ๋์คํ๋ฅผ ์๋ฆฌํด์ ์ง์์๊ฒ ์ฃผ๊ณ
hanol2.tistory.com
ํด๋ผ์ด์ธํธ
์น์์ ์ ๋ณด์ ์์ธ์คํ๋ ค๋ ์ฌ์ฉ์
ex) api๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋, ์ํํธ์จ์ด ์์คํ ๋ฆฌ์์ค
๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณตํ๋ ์ ๋ณด
ํด๋ผ์ด์ธํธ์ ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ๋ ์์คํ ์ ์๋ฒ๋ผ๊ณ ๋ ํจ
์กฐ์ง์ API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๊ณ ๋ณด์, ์ ์ด ๋ฐ ์ธ์ฆ์ ์ ์งํ๋ฉด์ ์น ์๋น์ค๋ฅผ ์ ๊ณตํจ
ex) ์ด๋ฏธ์ง, ๋์์, ํ ์คํธ, ์ซ์ ๋๋ ๋ชจ๋ ์ ํ์ ๋ฐ์ดํฐ๐ฅ REST์ ๊ตฌ์ฑ์์
์์(Resource) - URL
ํ์(Verb) - Http Method
ํํ(Representations)1. ์์ (Resource) URL
- ๋ชจ๋ ์์์ ๊ณ ์ ํ ID๊ฐ ์กด์ฌํ๊ณ , ์ด ์์์ Server์ ์กด์ฌํ๋ค.
- ์์์ ๊ตฌ๋ณํ๋ ID๋ /movie/movie_name/1 ์ ๊ฐ์ HTTP URI ์ด๋ค.
- Client๋ URI๋ฅผ ์ด์ฉํด์ ์์์ ์ง์ ํ๊ณ ํด๋น ์์์ ์ํ(์ ๋ณด)์ ๋ํ ์กฐ์์ Server์ ์์ฒญํ๋ค.
2. ํ์ (Verb) - Http Method
- HTTP ํ๋กํ ์ฝ์ Method๋ฅผ ์ฌ์ฉํ๋ค.
- HTTP ํ๋กํ ์ฝ์ GET, POST, PUT, DELETE์ ๊ฐ์ ๋ฉ์๋๋ฅผ ์ ๊ณตํจ
3. ํํ (Representaion of Resource)
- Client๊ฐ ์์์ ์ํ (์ ๋ณด)์ ๋ํ ์กฐ์์ ์์ฒญํ๋ฉด Server๋ ์ด์ ์ ์ ํ ์๋ต (Representation)์ ๋ณด๋ธ๋ค
- REST์์ ํ๋์ ์์์ JSON, XML, TEXT, RSS ๋ฑ ์ฌ๋ฌ ํํ์ ์๋ต์ ๋ฐ์ ์ ์๋ค.
- ํ์ฌ๋ JSON์ผ๋ก ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด ๋๋ถ๋ถ์ด๋ค.
โREST API ์ RESTful API์ ์ฐจ์ด?
REST API
=> REST ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค API๋ฅผ ๊ตฌํํ ๊ฒ
RESTful ํ๋ค?
REST ์๋ฆฌ๋ฅผ ๋ฐ๋ฅด๋ ์์คํ ์ RESTful์ด๋ ์ฉ์ด๋ก ์ง์นญ
=> ‘REST API’๋ฅผ ์ ๊ณตํ๋ ์น ์๋น์ค๋ฅผ ‘RESTful’ํ๋ค๊ณ ํ ์ ์๋ค.
๐ฅ REST API ์ค๊ณ ๊ท์น
1) ๋ช ์ฌ, ์๋ฌธ์ => ๋์ฌx
2) ๋ช ์ฌ๋ ๋ณต์ํ
3) URI ๋ง์ง๋ง์ / ํฌํจx
4) URI๋ ์ธ๋๋ฐx ํ์ดํ ์ฌ์ฉ -
5) ํ์ผ์ ํ์ฅ์๋ฅผ ํ์x'Node.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ session ๋ฐฉ์?token ๋ฐฉ์ (1) 2023.11.14 api๋ค routesํด๋๋ก ๊ด๋ฆฌํ๊ธฐ (1) 2023.11.12 req.body/ req.params / req.query ์ ์ฐจ์ด์ +๋ฒ์ธ (Get,Post๋ฐฉ์์ ์ฐจ์ด์ ) (0) 2023.11.04 CRUD์ ๊ฐ๋ (0) 2023.08.21 Node.js < Submit๋ฒํผ ๋๋ฅด๋ฉด ํผ์ ์ ๋ ฅํ ์ ๋ชฉ๊ณผ ๋ ์ง ์๋ฒ๋ก ์ ๋ฌํ๊ธฐ>2 (0) 2023.08.20