๐ŸŽฏ express ์›น ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด ์›น ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  URL ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“™ Today I Learned

express

Node.js๋ฅผ ํ™œ์šฉํ•œ ๋ฏธ๋‹ˆ๋ฉ€ํ•œ ์›น ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.


๐Ÿง ์™œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ?

  • ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์›น ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ( express ๐Ÿ†š node.js )
  • ์›น ํ”„๋ ˆ์ž„์›Œํฌ์ง€๋งŒ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ๋งŒ ๊ณจ๋ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ž์œ ๋„๊ฐ€ ๋†’์Šต๋‹ˆ๋‹ค.
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์–ด ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.
    โ‡’ ๊ฐ„ํŽธํ•˜๊ฒŒ ์›น ์„œ๋ฒ„ ๊ตฌ์ถ•์„ ์œ„ํ•ด ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค!๐Ÿ‘



์‚ฌ์šฉ ๋ฐฉ๋ฒ•

const express = require('express')
const app = express()

// 1๏ธโƒฃ
app.get('/', function (req, res) {
  res.send('Hello World')
})

// 2๏ธโƒฃ
app.listen(3000) 

1๏ธโƒฃ REST API๋ฅผ ํ™œ์šฉํ•œ ๋ผ์šฐํŒ…

app.get('/', function (req, res) {
  res.send('Hello World')
})
  • GET ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • URL์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • URL์— ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ํ•ด๋‹น ๊ฒฝ๋กœ์— ์—ฐ๊ฒฐ๋œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ์„œ๋ฒ„ ์„ค์ •

app.listen(3000)
  • ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ 3000์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค



๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์ „์†ก

req.json()์„ ์ด์šฉํ•œ ๊ฐ’ ์ „๋‹ฌ

JSON (JavaScript Object Notation)์ด๋ž€?

๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด ํ‘œ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค.

ํ˜•ํƒœ : { "key": "value" }

  • nodeJsBook ๊ฐ์ฒด๋ฅผ ์‚ฌ์ดํŠธ์— ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•

  • localhost:3000/products/1 JSON ์ถœ๋ ฅ ํ™”๋ฉด




ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•œ url ์ „์†ก

  • ์ฃผ์†Œ๊ฐ’์„ ๋งŒ๋“ค์–ด์„œ json์„ ์ถœ๋ ฅ

๐Ÿง . products/10000 ์ฒ˜๋Ÿผ ์ฃผ์†Œ๊ฐ€ ๋งŽ์ด ์ƒ๊ธด๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

๐Ÿ…ฐ๏ธ . :parameter๋ฅผ url์— ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค!

  • /products/:n์—์„œ :๋Š” URL์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌ๋ฐ›๋Š”๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.
  • /products/1234 ์š”์ฒญ ์‹œ n ๊ฐ’์€ 1234๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.



โœ๏ธ ํ•œ ์ค„ ํšŒ๊ณ 

Express๋ฅผ ์‚ฌ์šฉํ•˜๋‹ˆ ์›น ์„œ๋ฒ„ ๊ตฌ์ถ•์ด ํ›จ์”ฌ ํŽธํ•ด์ ธ์„œ ์™œ ์ธ๊ธฐ๊ฐ€ ๋งŽ์€์ง€ ์‹ค๊ฐํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.๐Ÿ˜€

profile
๐ŸŒฑ๊ฐœ๋ฐœ ๊ธฐ๋ก์žฅ

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