-
ExpressWeb/Node.js 2024. 6. 7. 21:47
프론트엔드에서 온 Request를 API를 통해서 받은 뒤, 백엔드에서 데이터를 조회, DB 조회 등 역할을 수행하고 Response를 보내는 웹 프레임 워크를 만들고 사용하는 것
설치
- npm i express
기본 예제
const express = require('express') const app = express() app.get('/', function (req, res) { res.send('Hello World') }) app.listen(3000)
설명
app.get('/', function(req, res){ res.send('Hello World!') }) // HTTP Get 메소드 루트 라우팅 콜백 함수 버전 app.get('/', (req, res) =>{ res.send('Hello World!') }) // port 확인 후 log app.listen(port, () => { console.log('Example app listening on port ${port}') })
app.get(’ / ‘, () ⇒ {})
HTTP 메소드
- 요청의 목적이나 종류를 알려 주려고 사용하는 수단
라우팅
콜백 함수
- 다른 코드의 인수로서 넘겨주는 실행 가능한 코드
- 즉, 함수가 끝나고 실행할 함수를 넘겨줌
- 함수(파라미터)가 기본 틀이라면, 함수(끝나고 실행할 함수) 형식이다.
ex. setTimeout(() =>{console.log(”5초지남”)}, 5000)
JSON
Javascript Object Notation
사용 예시
app.get('/dog', (req, res) => { res.json({'sound': '멍멍'}) }) app.get('/cat', (req, res) => { res.json({'sound':'야옹'}) })
GET param / query
app.get('/user/:id', (req,res) =>{ const param = req.params console.log(param) res.json({'userid' : param.id}) // localhost/user/supp0rt // => {'userid' : 'supp0rt'} })
app.get('/user/:id', (req,res) =>{ const q = req.query console.log(q) res.json({'param1' : q.q, 'param2' : q.name, 'param3' : q.age}) // localhost/user/supp0rt?q=supp0rt&name=support&age=20 // => {'param1' : 'supp0rt', 'param2' : 'support', 'param3' : '20'} })
POST param / body
app.use(express.json()); app.post('/user/:id', (req, res) =>{ const p = req.params; console.log(p); const b = req.body; console.log(b); res.send({'message' : 'Hello World!'}); })
실습
동물소리 API 서버 만들기
- GET /sound/:name
- :name 따라서 다른 울음소리
const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello World') }) app.get('/sound/:name', (req,res) => { // req.params가 json타입으로 넘어오기 때문에 {key : value} 형태로 넘어옴 // key인 name에 해당하는 value를 바로 넣어주기 위해서는 const {name} 형식으로 해주면 바로 저장 const {name} = req.params var sound = {'' : ''} switch(name){ case 'cat': sound = {'고양이': '야옹'} console.log(name) break case 'dog': sound = {'강아지' : '멍멍'} console.log(name) break } res.json(sound) }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })
'Web > Node.js' 카테고리의 다른 글
Prototype (1) 2024.06.07 Node.js 기초 (1) 2024.06.07