Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- mongoose
- jest
- game
- GIT
- nodejs
- Dinosaur
- 정렬
- OCR
- MySQL
- Queue
- Python
- Bull
- dfs
- TypeScript
- Nest.js
- react
- Express
- cookie
- AWS
- flask
- 자료구조
- 공룡게임
- class
- JavaScript
- typeORM
- 게임
- Sequelize
- MongoDB
- nestjs
Archives
- Today
- Total
포시코딩
Request, Response 본문
728x90
정의
Request
클라이언트가 서버에게 전달하려는 정보나 메시지를 담는 객체
Response
서버에서 클라이언트로 응답 메시지를 전송 시켜주는 객체
서버 모듈
Node.js의 서버 모듈에는 대표적으로 http 모듈과 Express 모듈이 존재한다.
Express 모듈은 http 모듈을 확장하여 제공하는데
Express 모듈은 기존 http 모듈의 메서드도 사용할 수 있지만, Express가 추가 제공하는 메서드나 속성들을 사용할 수 있다.
최근에는 Express의 메서드가 더욱 편리하기에 기존 http 모듈의 메서드는 잘 사용되고 있지 않다.
Express 모듈의 req, res 객체
req 객체
- req.app: req 객체를 통해 app 객체에 접근할 수 있다.
- req.ip: 요청한 Client의 ip 주소가 담겨 있다.
- req.body: Request를 호출할 때 body로 전달된 정보가 담긴 객체이다.
- express.json() Middleware를 이용해야 해당 객체를 사용할 수 있다.
- req.params: 라우터 매개 변수에 대한 정보가 담긴 객체이다.
- api를 호출할 때 URI에 매개변수를 설정해서 특정 URI 뒤에 들어온 데이터는 전부 params로 간주하여
출력한다.
- api를 호출할 때 URI에 매개변수를 설정해서 특정 URI 뒤에 들어온 데이터는 전부 params로 간주하여
- req.query: Request를 호출할 때 쿼리 스트링으로 전달된 정보가 담긴 객체이다.
- req.cookies: Request를 호출할 때 Cookie 정보가 담긴 객체이다.
- cookie-parser Middleware를 이용해야 해당 객체를 사용할 수 있다.
- req.get(Header): 헤더에 저장된 값을 가져오고 싶을 때 사용한다.
req.query 사용 예
(app.js)
// ...생략
app.get('/', (req, res) => {
console.log(req.query);
res.send('정상적으로 반환되었습니다.');
})
// ...생략
req.params 사용 예
(app.js)
// ...생략
app.get('/:id', (req, res) => {
console.log(req.params);
res.send(':id URI에 정상적으로 반환되었습니다.');
})
// ...생략
req.body 사용 예
(app.js)
// ...생략
app.use(express.json());
// request 객체 안에 있는 body를 사용하기 위해 작성. 즉, body-parser 미들웨어를 쓰기 위한 문법
app.post('/', (req, res) => {
console.log(req.body);
res.send('기본 URI에 POST 메소드가 정상적으로 실행되었습니다.');
})
// ...생략
res 객체
- res.app: res 객체를 통해 app 객체에 접근할 수 있다.
- res.status(코드): Response에 HTTP 상태 코드를 지정한다. [링크](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): 쿠키를 제거할 때 사용한다.
res.json() 사용 예
(app.js)
// ...생략
app.get('/', (req, res) => {
console.log(req.query);
const obj = {
"KeyKey" : "value입니다.",
"이름입니다." : "아니요",
}
$
res.json(obj);
})
// ...생략
res.status() 사용 예
위 코드에 추가로 res.json() 사이에 status()를 넣어
res.status(code).json() 의 형태로 만들어주는 식으로 사용할 수 있다.
(app.js)
// ...생략
app.get('/', (req, res) => {
console.log(req.query);
const obj = {
"KeyKey" : "value입니다.",
"이름입니다." : "아니요",
}
res.status(400).json(obj);
})
// ...생략
728x90
'Node.js' 카테고리의 다른 글
[Swagger] API 문서 자동화 프레임워크 적용기 (6) | 2022.12.15 |
---|---|
객체 구조 분해 할당을 통해 req.params 값 쉽게 사용하기 (0) | 2022.12.13 |
Node.js 학습목표 (0) | 2022.12.12 |
[Node.js] with 논 블로킹, 싱글 스레드, 이벤트 루프 (0) | 2022.12.12 |
[Express + Mongoose] Array에 담긴 데이터 여러개 update $push 하기 (0) | 2022.12.03 |