Web
Express
supp0rt
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}`)
})