๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก2022/05/14 (2)

kingsubin

45์žฅ. ํ”„๋กœ๋ฏธ์Šค

45์žฅ. ํ”„๋กœ๋ฏธ์Šค JS๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ํ•˜๋‚˜์˜ ํŒจํ„ด์œผ๋กœ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ฝœ๋ฐฑ ํŒจํ„ด์€ ์ฝœ๋ฐฑ ํ—ฌ๋กœ ์ธํ•ด ๊ฐ€๋…์„ฑ์ด ๋‚˜์˜๋‹ค. ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์ค‘ ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๊ณค๋ž€ํ•˜๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. ES6์—์„œ๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋˜ ๋‹ค๋ฅธ ํŒจํ„ด์œผ๋กœ Promise ๋ฅผ ๋„์ž…ํ–ˆ๋‹ค. Promise์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด์ž... 45-1. ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ฝœ๋ฐฑ ํŒจํ„ด์˜ ๋‹จ์  ์ฝœ๋ฐฑ ํ—ฌ ๋น„๋™๊ธฐ ํ•จ์ˆ˜๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์™ธ๋ถ€์— ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜, ์ƒ์œ„ ์Šค์ฝ”ํ”„ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ๋น„๋™๊ธฐ ํ•จ์ˆ˜ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ํ›„์† ์ฒ˜๋ฆฌ๋ฅผ ๋น„๋™๊ธฐ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ์ด ํ›„์† ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์ฃผ๋กœ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค. // ๋น„๋™๊ธฐ ํ•จ์ˆ˜์˜ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ..

44์žฅ. REST API

44์žฅ. REST API REST(REpresentational State Transfer): HTTP๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์„ ๊ทœ์ •ํ•œ ์•„ํ‚คํ…์ฒ˜ REST API: REST๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋น„์Šค API๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ 44-1. REST API์˜ ๊ตฌ์„ฑ ๊ตฌ์„ฑ์š”์†Œ ๋‚ด์šฉ ํ‘œํ˜„๋ฐฉ๋ฒ• resource ์ž์› URI(์—”๋“œํฌ์ธํŠธ) verb ์ž์›์— ๋Œ€ํ•œ ํ–‰์œ„ HTTP ์š”์ฒญ ๋ฉ”์„œ๋“œ representations ์ž์›์— ๋Œ€ํ•œ ํ–‰์œ„์˜ ๊ตฌ์ฒด์  ๋‚ด์šฉ payload 44-2. REST API ์„ค๊ณ„ ์›์น™ URI๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ํ‘œํ˜„ ํ–‰์œ„์— ๋Œ€ํ•œ ์ •์˜๋Š” HTTP ์š”์ฒญ ๋ฉ”์„œ๋“œ๋กœ 44-3. JSON Server๋ฅผ ์ด์šฉํ•œ REST API ์‹ค์Šต npm json-server ์‚ฌ์šฉ ๋Œ€๋ถ€๋ถ„ ์•„๋Š” ๋‚ด์šฉ์ด๋ผ ์ฝ๊ธฐ๋งŒ ํ•˜๊ณ  ๋ฉ”๋ชจ๋Š” ์ƒ๋žตํ•จ.