데브코스

백엔드(4) - express

hxx_1 2024. 8. 30. 23:10

express 실습해보기

const express = require('express')
const app = express() // 서버를 담음

// GET + "/"
// 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) // 서버 셋팅: 포트 넘버(번호) 3000 으로 셋팅

 

➕ 포트 번호(port number)

: 클라이언트와 서버가 대화를 하고 싶다면 같은 주파수를 맞춰야 한다.

ex) 각 회사 체계 서비스 번호 - 1234

'/' 일 경우
'/test' 일 경우
'/test/1' 일 경우


⚠️ 오류 해결하기

app.get('/products/1' , function (req, res) {
  res.send('Node.js 를 배워보자 (책)')
  res.send(20000)
})

=> 20000 이라는 텍스트는 화면에 보이지 않는 것을 확인할 수 있다. 

=> 이를 해결하려면 ❓객체 사용하기

let nodejsBook = {
  title:"Node.js를 공부해보자",
  price: 20000,
  description: "이 책 좋음"
}

app.get('/products/1' , function (req, res) {
  res.json(nodejsBook)
})

객체

: 데이터를 하나씩 X => 데이터를 모아 모아 덩어리로 보내겠다!

ex) 상품명: Node.js 를 공부해보자.

      상품 가격: 20000

      상품 소개: 이 책 좋음

: 주어 자리에 왔을 때 문장이 만들어지면 그건 다 객체다.

 

json 이란

javascript object notation

: 자바스크립트 객체가 어떻게 생겼나, 어떤 형태인가

let book = {
   title:"Node.js를 공부해보자",
   price:20000,
   description:"이 책 좋음"
}

👩🏻‍💻 실습해보기

: URL 에 입력한 값을 화면에 출력

const express = require('express')
const app = express() // 서버를 담음
app.listen(3000)

app.get('/products/:n' , function (req, res) {
  // : => 어? 나한테 URL 로 매개변수를 전달해줄건가보다
  // products/___ 빈칸에 오는 값을 n이라는 변수에 담아줘
  res.json({
    num:req.params.n
  })
})

: 지정하는 변수의 이름은 모르니, 우선 매개변수로 입력된 값을 req.params 라는 곳에 저장한다. 

url 에 999를 입력했을 때
12를 입력했을 때


🌟 배운 점

오늘은 express 모듈에 대해 배웠다. http 모듈보다 보기에 훨씬 간단하고 이해하기 쉽다는 생각이 들었다. 그리고 객체를 서버로 전달하는 법도 배웠는데 생각보다 간단했다. 그냥 생각하기로는 res.send 를 통해 텍스트를 몇 줄이든 화면에 출력할 수 있을 것이라고 생각했는데, 이렇게 하면 오류가 생긴다는 것이 의외였다. 이 부분을 잊지 말고 실수하지 말아야겠다.