[๐Ÿปโ€โ„๏ธexpress] fetch๋กœ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๊ธฐ! (๋น„๋™๊ธฐ)

dsfasdยท2022๋…„ 10์›” 18์ผ
0

fetch๋กœ ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๊ธฐ!


๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์™€์„œ ์ถœ๋ ฅํ•ด๋ณด์ž

localhost:4001/discussions ์„œ๋ฒ„์— ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ์ƒํ™ฉ

์„œ๋ฒ„ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ๋Œ์–ด์˜ฌ ์ˆ˜ ์žˆ์„๊นŒ


fetch API ์‚ฌ์šฉํ•˜๊ธฐ

Fetch API๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ „์—ญ fetch( ) ๋ฉ”์„œ๋“œ๋กœ ๋„คํŠธ์›Œํฌ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‰ฝ๊ฒŒ "๋น„๋™๊ธฐ์ "์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค~

โšก๏ธโšก๏ธโšก๏ธโšก๏ธ ๋น„๋™๊ธฐ๋ž€!โšก๏ธโšก๏ธโšก๏ธ

์š”์ฒญํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๊ทธ ์ˆœ๊ฐ„ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š”๋ฐ..

์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋ฉด ์‘๋‹ต๋ฐ›๋Š” ์‹œ๊ฐ„์ด ๋‹ค๋ฅด๊ฒŒ ๋‚˜ํƒ€๋‚œ๋‹ค.
์ด๋Š” ์ผ์„ ๋ฌด์กฐ๊ฑด ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ๋™๊ธฐ๋ฐฉ์‹์ด๋ผ๋ฉด?
์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ์ผ์ฒ˜๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
ํ•˜์ง€๋งŒ ๋น„๋™๊ธฐ ๋ฐฉ์‹์ด๋ผ๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์ผ์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.. ๊ณ  ์ดํ•ดํ–ˆ๋‹ค.

fetch( ) ๋ฉ”์„œ๋“œ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ

์šฐ์„  ์•„๋ž˜๋Š” ๋„คํŠธ์›Œํฌ์—์„œ JSON ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€์„œ ์ฝ˜์†”์— ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค.
๊ธฐ๋ณธ ํ˜•ํƒœ๋Š” ์ด๊ฒŒ ๋์ด๋‹ค

fetch('http://localhost:4001/discussions')
.then(response=>response.json())
.then(data => {
  const fetchData = data;
  console.log('fetch๋กœ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ',fetchData); })

์ฝ”๋“œ ํ•ด์„

fetch( )

fetch( )๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ธด ์„œ๋ฒ„์˜ URL์„ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
๋‘๋ฒˆ์งธ ์ธ์ž๋กœ options์„ ์ค„ ์ˆ˜ ์žˆ๋Š”๋ฐ ์šฐ์„ ์€ ์ƒ๋žตํ•œ๋‹ค.

fetch('http://localhost:4001/discussions' , ๋‘๋ฒˆ์งธ ์ธ์ž๋กœ ์˜ต์…˜์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.)

fetch๋Š” ์‘๋‹ต์œผ๋กœ ํ”„๋กœ๋ฏธ์Šค ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
response์—๋Š” ์‘๋‹ต ๊ฐ์ฒด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋‹ค.
(response๋Š” ๋ณ€์ˆ˜์ด๋ฏ€๋กœ ์ž์œ ๋กญ๊ฒŒ ์•„๋ฌด๊ฑฐ๋‚˜ ์ ์–ด๋„ ๋œ๋‹ค.)
fetch('http://localhost:4001/discussions')
.then(response=>{console.log(response),response.json()})

response๋ฅผ ์ถœ๋ ฅํ•ด๋ณด๋ฉด ์ฝ˜์†”์ฐฝ์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋œฌ๋‹ค.
.then์€ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ(fetch๋ฉ”์„œ๋“œ)ํ›„ ์ฒ˜๋ฆฌํ•  ์ผ์„ ์ •์˜ํ•ด์ฃผ๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค.

์‘๋‹ต๊ฐ์ฒด ๋‚ด๋ถ€๊ตฌ์กฐ


json( )

์‘๋‹ต ๊ฐ์ฒด์˜ ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ฐ’์ด ํ•„์š”ํ•˜๋‹ˆ response.json( )ํ˜•ํƒœ๋กœ ๋ฐ›์•„์ค€๋‹ค.
response.json()๋กœ ๋ฐ›์•„์˜จ ๊ฐ’์„ data๋กœ ๋ฐ˜ํ™˜ํ•˜์˜€๋‹ค.
(๋งˆ์ฐฌ๊ฐ€์ง€๋กœ data๋„ ๋ณ€์ˆ˜๋ผ์„œ ์•„๋ฌด๊ฑฐ๋‚˜ ์ด๋ฆ„์„ ์ง€์œผ๋ฉด ๋œ๋‹ค.)

.then(data => {
  const fetchData = data;
  console.log('fetch๋กœ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ',fetchData); })

์ด์ œ data๋ฅผ console์— ์ฐ์–ด๋ณด๋ฉด ์ž˜ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


profile
๊ธฐ๋ก์„ ์ •๋ฆฌํ•˜๋Š” ๊ณต๊ฐ„!

0๊ฐœ์˜ ๋Œ“๊ธ€