-
[데브코스] (20일차자체휴식)21일차 TILTIL/교육 내용 정리 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 }) })
'TIL > 교육 내용 정리' 카테고리의 다른 글
[데브코스] 23일차 TIL (0) 2024.04.30 [데브코스] 22일차 TIL (1) 2024.04.29 [데브코스] 16~18(예비군) 19일차 TIL (0) 2024.04.26 [데브코스] 13,14(주말) 15일차 교육내용 정리 (0) 2024.04.22 [데브코스]10,11,12일차 교육내용 정리 (1) 2024.04.19