728x90
const express = require('express') // 모듈 임포트
const app = express()
const port = 3000 // 서버 포트
// 미들웨어 (middleware)
// 미들웨어 중에서 라우트 경로가 포함된 미들웨어 -> 라우트 핸들러 함수
// 라우트 (route)
// HTTP 메서드 (GET, POST, PUT, DELETE)
app.get('/', (req, res) => {
res.send('Hello World !')
})
app.post('/', function (req, res){
res.send('Got a POST request')
})
app.put('/user', function (req, res){
res.send('Got a PUT request at /user')
})
// req: request (요청 객체)
// res: response (응답 객체)
app.delete('/user', function(req, res){
res.send('Got a DELETE request at /user')
})
// 서버를 구동하고 브라우저 요청을 기다림
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
const express = require('express') // 모듈 임포트
const app = express()
const port = 3000 // 서버 포트
// 모든 요청에 대하여 항상 실행되는 미들웨어
const myLogger = function (req, res, next){
console.log(`LOGGED - ${new Date()}`)
next() // 요청을 그 다음 미들웨어로 넘겨주는 함수
}
// 미들웨어 등록
app.use(myLogger)
app.get('/', function (req, res){ // 미들웨어 - 라우트핸들러 함수
res.send('Hellow world!')
})
// 서버를 구동하고 브라우저 요청을 기다림
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
const express = require('express') // 모듈 임포트
const app = express()
const port = 3000 // 서버 포트
// 모든 요청에 대하여 항상 실행되는 미들웨어
// req, res 객체도 중간에서 변경함
// req : { requestTime: 'Mon Aug 07 2023 11:01:07 GMT+0900'}
const myLogger = function (req, res, next){
req.requestTime = new Date()
console.log(`LOGGED - ${req.requestTime}`)
next() // 요청을 그 다음 미들웨어로 넘겨주는 함수
}
// 미들웨어 등록
app.use(myLogger)
app.get('/', function (req, res){ // 미들웨어 - 라우트핸들러 함수
res.send(`Hellow world! - ${req.requestTime}`)
})
// 서버를 구동하고 브라우저 요청을 기다림
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
const express = require('express') // 모듈 임포트
const app = express()
const port = 3000 // 서버 포트
app.use(function (req, res, next){
console.log('Time:', Date.now())
next() // 아직 서버에서 처리가 끝나지 않은 상태
})
// :id : URL 파라미터 (/user/12345)
// use : 모든 HTTP 메서드에 대하여 해당 경로와 일치하면 실행
app.use('/user/:id', function (req, res, next){
console.log('Request URL: ', req.originalUrl)
next()
}, function (req, res, next){
console.log('Request Type: ', req.method)
next()
})
app.get('/user/:id', function (req, res, next){
console.log('유저 ID: ', req.params.id)
next()
}, function (req, res, next){
res.send('User Info') // 이미 종료
})
// 영원히 실행되지 않는 코드
app.get('/user/:id', function (req, res, next){
res.send(req.params.id)
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
const express = require('express') // 모듈 임포트
const app = express()
const port = 3000 // 서버 포트
app.use(function (req, res, next){
console.log('Time:', Date.now())
next() // 아직 서버에서 처리가 끝나지 않은 상태
})
// :id : URL 파라미터 (/user/12345)
// use : 모든 HTTP 메서드에 대하여 해당 경로와 일치하면 실행
app.use('/user/:id', function (req, res, next){
console.log('Request URL: ', req.originalUrl)
next()
}, function (req, res, next){
console.log('Request Type: ', req.method)
next()
})
app.get('/user/:id', function (req, res, next){
if(req.params.id == 0) next('route')
else next()
}, function (req, res, next){
// 일반 홈페이지
res.send('일반 사용자')
})
// req.params.id === 0 인 경우 실행
app.get('/user/:id', function (req, res, next){
res.send('관리자 유저')
// 어드민 페이지
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
const express = require('express') // 모듈 임포트
const app = express()
const router = express.Router()
const port = 3000 // 서버 포트
router.use(function (req, res, next){
console.log('Time:', Date.now())
next() // 아직 서버에서 처리가 끝나지 않은 상태
})
// :id : URL 파라미터 (/user/12345)
// use : 모든 HTTP 메서드에 대하여 해당 경로와 일치하면 실행
router.use('/user/:id', function (req, res, next){
console.log('Request URL: ', req.originalUrl)
next()
}, function (req, res, next){
console.log('Request Type: ', req.method)
next()
})
router.get('/user/:id', function (req, res, next){
if(req.params.id == 0) next('route')
else next()
}, function (req, res, next){
// 일반 홈페이지
res.send('일반 사용자')
})
// req.params.id === 0 인 경우 실행
router.get('/user/:id', function (req, res, next){
res.send('관리자 유저')
// 어드민 페이지
})
app.use('/api', router) // 서브 URL 에 대한 처리로직을 생성
app.use('/users', router2)
app.use('/comments', router3)
// /api 라는 URL 주소부터 시작해서 하위에 서브 URL 을 만들어서
// 그 안에 라우트핸들러 함수로 실행
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
728x90