ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Express
    Web/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
Designed by Tistory.