http VS express
http : 웹서버처럼 사용할 수 있는 내장 모듈
express 안에 http가 포함되어있다.
const express = require('express')
const app = express()
app.get('/', function (req, res) {
res.send('Hello World')
})
app.listen(3000) //순서 상관 없다! 포트넘버 셋팅
const? 바꿀 수 없다!
app에 서버를 담았고
`/` : http://localhost:3000/ 주소값이 날라오면, 콜백함수 호출한다. 미리 서버에 세팅해놓은 방식
콜백함수는 http와 같이 response와 request를 이용해 날린다.
차이점?
빠르고, 간결하다.
express REST API
app.get 코드 : GET + "/"
//API : GET + "/test"
//"TEST SUCCESS"
app.get('/test', function (req, res) {
res.send('TEST SUCCESS')
})
//API : GET + "/test/1"
//"TEST SUCCESS"
app.get("/test/1", function (req, res) {
res.send("One!");
});
//API : GET + "/hello"
//"TEST SUCCESS"
app.get("/hello", function (req, res) {
res.send("안녕하세요");
});
한국어도 쉽게 출력되는걸 볼 수 있다.
JSON 객체 텍스트
데이터를 텍스트 두개로 보내지말고, 묶은 객체로 보내자!
객체 : 세상이 객체로 이루어져있다.
대표 객체의 정보를 묶어서 보내자. 프론트엔드에서 알아서 찾아갈 수 있도록!
JavaScript Object Notation : 자바스크립트 객체가 어떤 형태인가
let nodejsBook = {
title: "nodejs 책",
price: 20000,
author: "datdaradanadat",
};
function print(book) {
console.log(book.title);
console.log(book.price);
console.log(book.author);
}
print(book)
.json 함수
app.get("/products/1", function (req, res) {
res.json({
title : "nodejs책",
price : 20000,
author : "datdaradanadat"
});
});
json 함수 안에 객체 생성하지말고, 전역변수로 객체 생성 후 함수 가동
let nodejsBook = {
title: "nodejs 책",
price: 20000,
author: "datdaradanadat",
};
app.get("/products/1", function (req, res) {
res.json(nodejsBook);
});
express, 객체, params 구현 실습
app.get("/products/:n", function (req, res) {
res.json({
num: req.params.n,
});
});
products/__ 빈칸에 오는 값을 n이라는 변수에 담아달라 `:`
→ url 로 매개변수 전달해주나? req.params모든 값을 담아오겠다!
최종 `req.params.n`으로 url 값을 객체에 전달할 수 있다.
☑️ 배운 점
이전 플젝에서 도서 객체 받아오는 방법이 같아서 신기했고, 이제 동작방법 백엔드 로직을 이해할 수 있었다!
params 에 대해 조금더 찾아볼것이다.