23년 12월 6일 강의를 들은 내용과 추가로 더 학습한 내용을 기록한 글입니다.
Express
1
2
3
4
5
6
7
8
9
10
11
12
| const express = require("express");
const app = express();
// GET 메소드로 '/'이 날아오면
// 매개변수로 전달받은 콜백 함수를 호출 => 서버에 세팅
app.get("/", function (req, res) {
// 응답 보내는 내용
res.send("Hello World");
});
// 서버 셋팅 (포트넘버 세팅)
app.listen(3000);
|
결과
실습 1
- method Get
- url ‘http://localhost:3000/test’
- 출력내용: TEST SUCCESS
1
2
3
4
5
6
7
8
9
| const express = require("express");
const app = express();
// GET + 'http://localhost:3000/test'
app.get("/test", function (req, res) {
res.send("test Success");
});
app.listen(3000);
|
결과
실습 2
- method Get
- url ‘http://localhost:3000/test/1’
- 출력내용: one!!!
1
2
3
4
5
6
7
8
9
| const express = require("express");
const app = express();
// GET + 'http://localhost:3000/test/1'
app.get("/test/1", function (req, res) {
res.send("One!!");
});
app.listen(3000);
|
결과
실습 3
- method Get
- url ‘http://localhost:3000/test/hello’
- 출력내용: 안녕하세요
- url ‘http://localhost:3000/test/bye’
- 출력내용: 안녕히 가세요
- url ‘http://localhost:3000/test/nicetomeetyou’
- 출력내용: 만나서 반갑습니다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| const express = require("express");
const app = express();
app.get("/hello", function (req, res) {
res.send("안녕하세요");
});
app.get("/bye", function (req, res) {
res.send("안녕히가세요");
});
app.get("/nicetomeetyou", function (req, res) {
res.send("만나서 반갑습니다");
});
app.listen(3000);
|
결과
여러개의 정보를 보내려면 어떻게 해야할까?
정보를 객체로 만들어서 전달하면 됨!
JSON
Javascript Object Notation (자바스크립트 객체 형태/모양)
1
2
3
4
| {
"name": "hyemin",
"age": 2
}
|
1
2
3
4
5
| const book = {
title: 'Node.js를 배워보자',
price: 200000,
description: '이 책 좋음!!!'
}
|
res.send() res.json() 실제로는 별로 차이가 안남
실습 4
1
2
3
4
5
| const book = {
title: 'Node.js를 배워보자',
price: 200000,
description: '이 책 좋음!!!'
}
|
products/1
에 접속했을 때 객체 전달하기
1
2
3
4
5
6
7
| app.get("/products/1", function (req, res) {
res.send({
title: "Node.js를 배워보자",
price: 200000,
description: "이 책 좋음!!!"
});
});
|
- json 내용을 따로 변수로 작성하고,
send()
에 매개변수로 넣기
1
2
3
4
5
6
7
8
9
| const book = {
title: "Node.js를 배워보자",
price: 200000,
description: "이 책 좋음!!!"
};
app.get("/products/1", function (req, res) {
res.send(book);
});
|
결과
실습 4
req.params
를 사용해서 파라미터 받아오기
1
2
3
4
5
6
7
8
9
| const express = require("express");
const app = express();
app.get("/products/:num", function (req, res) {
const { num } = req.params;
res.send({ num });
});
app.listen(3000);
|
결과
req.params
1
2
3
4
5
| // http://localhost:3000/paramsId
app.get("/:id", (req, res) => {
console.log(req.params); // {id: 'parmasId'}
});
|
1
2
3
4
5
| // http://localhost:3000/paramsId/some
app.get("/:id/:name", (req, res) => {
console.log(req.params); // {id: 'parmasId', name: 'some'}
});
|
req.query
- 쿼리 문자열 매개변수에 대한 속성이 포함된 객체
1
2
3
4
5
6
7
8
9
10
11
12
| // https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98
app.get("/", (req, res) => {
console.log(req.query);
// {
// where : 'nexearch',
// sm: 'top_hty',
// fbm:'0',
// ie: 'utf8',
// query:'%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98'
// }
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| // http://localhost:3000/watch?v=FQfEqIGMF7Q&list=PLE7NSUpyv6SWUghI2uuPHc_lrE4mvPK5y&index=1&t=2363s
app.get("/watch", function (req, res) {
console.log(req.query);
const { v, t } = req.query;
res.send({ videoId: v, timeline: t });
});
// {
// v: 'FQfEqIGMF7Q',
// list: 'PLE7NSUpyv6SWUghI2uuPHc_lrE4mvPK5y',
// index: 1 ,
// t:'2363s',
// }
|
req.body
- JSON 등의 데이터를 담을 때 사용
- 키 - 값
- 4.16이전 버전: body-parser를 사용하기 전까지는 오류를 뱉음 (undefined값으로 설정)
- 4.16 이후 버전: expess.json() 모듈 사용
1
2
3
4
5
6
7
8
9
| const book = {
title: "Node.js를 배워보자",
price: 200000,
description: "이 책 좋음!!!"
};
app.get("/products/1", function (req, res) {
res.send(book);
});
|