데이터를 하나씩 X => 데이터를 모아모아 덩어리로 보내겠다!!
"객체" 라는 뜻이며,
우리 세상이 객체로 이루어져 있습니다.
'주어 자리에 왔을 때, 만들어지면 그건 다 객체다' - 김송아
객체
ex) "Node.js를 공부해보자. 라는 책이 있다 치면
이 모든 상품명, 상품가격, 상품소개라는 정보는 저 책 하나를 위한 정보인거잖아.
그럼 저 책이라는 객체 하나에 대한 정보이기 때문에 객체만 보내면 된다.
그럼 전에 글과 이어지는 것인데, express로 url를 보낼때, 텍스트를 보내는게 아니라 객체를 보내라!
(javascript object notation)
자바스크립트 객체 모양 (json) : 자바스크립트 객체가 어떻게 생겼나 = 어떤 형태인가
let book = {
title : "Node.js를 공부해보자"
price : 20000,
description : "이 책 좋음 왜? 김송아가 지음"
}
객체 보낼때, json의 형식으로
app.get("/hello", function (req, res) {
res.send({
say: "안녕하세요",
});
});
const express = require("express");
const app = express();
app.get("/", function (req, res) {
res.json({
say: "Hello world",
});
});
//API : GET + "http://localhost:1234/test"
app.get("/test", function (req, res) {
res.json({
say: "Test",
});
});
app.get("/test/1", function (req, res) {
res.json({
say: "One!",
});
});
let nodejsBook = {
title: "Node.js를 공부해보자.",
price: 20000,
description: "이 책 좋음 왜? 김송아가 지음",
};
app.get("/products/1", function (req, res) {
res.json(nodejsBook);
});
app.get("/hello", function (req, res) {
res.json({
say: "안녕하세요",
});
});
app.listen(3000); //서버 셋팅: 포트 넘버(번호)를 3000으로 셋팅하는거야. 그래서 이 코드는 어디에 두든 상관없이 작동해!
여기 보면 아래에 let nodejsBook이 있고, 그걸 products/1에서 res.json(nodejsBook)으로 그냥 넘겨줬어. 봐봐 이렇게 객체를 넘어줄 수 있는거야.
이게 백엔드의 거의 기초이자 끝이야.
서버를 만들어서 해당 url에 내가 보여주고 싶은 것을 보여준다면 뭐 끝이지 안그래?
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,
});
});
이렇게 products/1,2,3처럼 이런 페이지가 여러개가 있는데, 이 페이지가 한 1000개 있다고 하면 너는 이걸 저렇게 천개를 만들래?
그럴 수 없겠지
만약 비슷한 기능을 하는 페이지를 많이 만들어야 한다면 이걸 한 번에 해줄 수 있는 방법이 있어!
app.get("/products/:n", function (req, res) {
// : 이 땡떙이 나오면 => 어? 나한테 url로 매개변수를 전달해줄 건가보다. req.params.n으로 받을 수있어
//products/__ 빈칸에 오는 값을 n이라는 변수에 담아줘!
res.json({
num: req.params.n,
});
});
res.json({
num: req.params.n
});
});
이게 핵심이야!!
이런 식으로도 사용할 수 있어
app.get('/user/:id', (req, res) => {
console.log(req.params.id); // URL의 :id 부분에 해당하는 값
});
app.get('/api/number/:n', (req, res) => {
res.json({
num: req.params.n // URL의 :n 부분에 해당하는 값
});
});
객관식 문제
