저장을 습관화
Request와 Response 본문
Request란 클라이언트가 서버에게 전달하려는 정보다 메시지를 담는 객체이다
Reponse란 서버에서 클라이언트로 응답 메시지를 전송시켜주는 객체이다.
express 모듈에서의 req, res 객체 (주요 사용되는 것은 볼드+밑줄)
- req
req.app: req 객체를 통해 app 객체에 접근할 수 있다.
req.ip: 요청한 Client의 IP 주소가 담겨 있다.
req.body: Request를 호출할 때 body로 전달된 정보가 담긴 객체
req.params: 라우터 매개 변수에 대한 정보가 담긴 객체
req.query: Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체
req.cookies: Request를 호출할 때 Cookie 정보가 담긴 객체
req.get(Header): 헤더에 저장된 값을 가져오고 싶을 때 사용한다.
-res
res.app: res 객체를 통해 app 객체에 접근할 수 있다.
res.status(코드): Reponse에 HTTP 상태 코드를 지정한다.
res.send(데이터): 데이터를 포함하여 Response를 전달한다.
res.json(JSON): JSON 형식으로 Response를 전달한다.
res.end(): 데이터 없이 Response를 전달한다.
res.direct(주소): 리다이렉트할 주소와 함께 Response를 전달한다.
res.cookie(Key, Value, Option): 쿠키를 설정할 때 사용한다.
res.clearCookie(Key, Value, Option): 쿠키를 제거할 때 사용한다.
req 예시 1. req.query
1. app.js 작성
const express = require("express");
const app = express();
const port = 3000;
app.use(express.json());
app.get("/", (req, res) => {
console.log(req.query);
res.send("정상적으로 반환되었습니다.");
});
app.listen(port, () => {
console.log(port, "포트로 서버가 열렸어요");
});
2. express 실행
3. query string 전달
4. 전달 확인
req 예시 2. req.params
1. app.js 작성
const express = require("express");
const app = express();
const port = 3000;
app.use(express.json());
app.get("/:id", (req, res) => {
console.log(req.params);
res.send(":id URI에 정상적으로 반환되었습니다.");
});
app.listen(port, () => {
console.log(port, "포트로 서버가 열렸어요");
});
2. express 실행
node app.js
3. parameter 전달
4. 전달 확인
req 예시 3. req.body
1. app.js 작성
const express = require("express");
const app = express();
const port = 3000;
app.use(express.json());
app.post("/", (req, res) => {
console.log(req.body);
res.send("기본 URI에 POST 메소드가 정상적으로 싱행되었습니다.");
});
app.listen(port, () => {
console.log(port, "포트로 서버가 열렸어요");
});
2. express 실행
node app.js
3. JSON 형태의 body 전달(POST)
4. 전달 확인
res 예시 1. res.json()
1. app.js 작성
const express = require("express");
const app = express();
const port = 3000;
app.use(express.json());
app.get("/", (req, res) => {
console.log(req.query);
const obj = {
keyKey: "valueValue",
"이름입니다.": "이름일까요?",
};
res.json(obj);
// 아래와 같이 res.json() 안에 직접 작성해도 동일하게 작동한다.
// res.json({
// keyKey: "valueValue",
// "이름입니다.": "이름일까요?",
// });
});
app.listen(port, () => {
console.log(port, "포트로 서버가 열렸어요");
});
2. express 실행
node app.js
3. 호출
4. 호출 확인
- 추가, HTTP 상태 코드를 임의로 변경하고 싶다면?
아래와 같이 status() 옵션을 추가하여 정상적으로 실행되었더라도
사전에 설정한 상태 코드를 받을 수 있다.
...(생략)...
res.status(400).json(obj);
...(생략)...
[참조]
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
HTTP 상태 코드 - HTTP | MDN
HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고
developer.mozilla.org
'공부 > JavaScript' 카테고리의 다른 글
자바스크립트 날짜, 시간 표시 (0) | 2023.08.06 |
---|---|
Formating(포매팅)해서 출력하기 (0) | 2023.08.05 |
메모 - 객체지향의 가장 기본적인 예시 (0) | 2023.07.26 |
module의 이해 (0) | 2023.06.25 |
자바크스립트 문법 ?.과 ?? (Optional chaining과 Nullish coalescing) (0) | 2023.05.30 |