ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [데브코스] (20일차자체휴식)21일차 TIL
    TIL/교육 내용 정리 2024. 4. 28. 13:07

    HTTP 는 웹서버 역할을 하게 하는 것.

    http v.s express

    • http 안에 express가 포함되어 있음.

    왜 http는 let 으로 하고 express는 const로 할까?

    → 바꿀 일이 없기 때문에. http도 const로 해도 상관 없다.

    //express-demo.js
    const express = require('express')
    const app = express()
    
    // '/' 는 http://localhost:3000이 생략 , 콜백함수 
    app.get('/', function (req, res) {
      res.send('Hello World')
    })
    
    app.listen(3000)
    
    • express 가 http 보다 코드가 간결하다.

    express REST API 실습

    //express-demo.js
    const express = require('express')
    const app = express()
    
    // 메소드 
    // GET    + '/' 
    app.get('/', function (req, res) {
      res.send('Hello World')
    })
    
    // API : GET(조회) + "<http://localhost:3000/test>"
    // "TEST SUCCESS"
    app.get('/test', function (req, res) {
        res.send('TEST SUCCESS')
      })
    
    // API : GET(조회) + "<http://localhost:3000/test/1>"
    // "One!!"
    app.get('/test/1', function (req, res) {
        res.send('One!!')
      })
      
    app.listen(3000) 
    

    그냥 텍스트로 보내면 안될걸? & 객체란

    //express-demo.js
    app.get('/products/1', function (req, res) {
        res.send('Node.js를 배워보자(책)')
        res.send(20000)
      })
    
    • 데이터를 객체 형태로 보내보자. 각각 보내지 말구 객체란? 데이터를 하나씩x 데이터를 모아모아 덩어리로 보내겠다. ex) 상품명 : Node.js 를 배워보자 상품가격 : 20000 삼품소개 : 이 책 좋음? 김송아가 지음. 각각 보내면 하나씩 보내는 거. 하지만 이건 이 책 한 권에 대한 정보임. 따라서 Node.js 를 배워보자 ← 객체가 가진 정보임.

    **우리 세상이 객체로 이루어져있다. 주어 자리에 왔을 때 문장이 만들어지면 그건 다 객체다.

    OK 그럼 어떻게 객체(자바스크립)로 보내느냐?**

    json이란? res.json- /hello

    • javascript object notation → json : 자바스크립트 객체가 어떻게 생겼나? = 어떤 형태인가?
    let person ={
    	name : 'songa',
    	age : 20
    }
    
    // object-demo.js 
    // Node.js 를 공부해보자 라는 객체
    let book = {
        title : "Node.js를 공부해보자",
        price : 20000,
        description : "이 책 좋음 왜? 김송아가 지음"
    }
    

    문자열로 이루어진 걸 json으로 바꿔보는 거 연습해보자.

    //express-demo.js
    app.get('/hello', function (req, res) {
        res.send('안녕하세요')
      })
      
    // ver1
    app.get('/hello', function (req, res) {
        res.send({
            say : '안녕하세요'
        })
      })
    // ver2
    app.get('/hello', function (req, res) {
        res.json({
            say : '안녕하세요'
        })
      })
    
    // 객체 이용 express-demo.js
    let nodeJsBook = {
        title : "Node.js를 공부해보자",
        price : 20000,
        description : "이 책 좋음 왜? 김송아가 지음"
    }
    
     
    app.get('/products/1', function (req, res) {
        res.json(nodeJsBook)
      })
    

    products/1.2

    -내 기억상 이걸 변수로 놓는 거 같은 데 cuz 상품이 한 두개면 괜찮은데 몇 백개 상품을 보유 하고 있으면 하나씩 설정을 해줄 순 없자

    -맞았다.

    //하드 코딩 , 하나씩 하는 방법
    const express = require('express')
    const app = express()
    
    app.listen(3000)
    
    app.get('/products/1', function (req, res) {
        res.json({
            num : 1
        })
    })
    
    app.get('/products/2', function (req, res) {
        res.json({
            num : 2
        })
    })
    
    app.get('/products/3', function (req, res) {
        res.json({
            num : 3
        })
    })
    //params-demo.js
    const express = require('express')
    const app = express()
    
    app.listen(3000)
    
    app.get('/products/:n', function (req, res) {
            //: => 어? 나한테 URL로 매개변수를 전달해줄 건가 보다
            // req.params
            //products/__빈칸에 오는 값을 n이라는 변수에 담아줘
        // console.log(req.params)
        // console.log(req.params.n)
        
        res.json({
            num : req.params.n
        })
    })
Designed by Tistory.