req.params VS req.query VS req.body

박주홍·2021년 9월 19일
1

req.body

req.body을 쓸때는 대부분 클라이언트에서 웹서버로 post요청을 보낼때가 많다. 거의 json/application 형식으로 데이터를 보내는데, 이때 같이쓰는 미들웨어는 다음과 같다.

const express = require('express');
const app = express();

app.use(express.json()) // for parsing application/json
app.use(express.urlencoded({ extended: true }))
// for parsing application/x-www-form-urlencoded
// 만약 extended: true이 안붙으면 특정 데이터형식만 쓸 수 있다고 들었다
{
	"title": "무한도전".
  	"time": "종영"
}

이런 json파일을 웹서버에 post요청을 했다치자, 그럼 웹서버는 이 데이터를 다음과 같이 받아서 사용할 수 있다.

	app.post('/', (req, res) => {
    		console.log(req.body);
      	/*
            {
		"title": "무한도전".
  		"time": "종영"
	    }
        */
      		return res.sendStatus(200);
   	})



req.params VS req.query

params는 매개변수라는 뜻이고, (참고로 인자는 argument다..)
query은 질문이란 뜻이다.

https://www.test.com/여기가파람스위치?쿼리위치1=1&쿼리위치2=2

만약 사용자가 다음과 같은 url로 웹 서버에 get요청을 보냈다면 다음과 같이 사용할 수 있다.

app.get('/:id', (req, res) => {
	console.log('req.params : ', req.params);
  	/* output ==>> req.params : { id : '여기가파람스위치'}*/
  	
  	console.log('req.query : ', req.query);
  	/* output ==>> req.query : { 쿼리위치1: '1', 쿼리위치2: '2'}*/
})

참고
https://stackoverflow.com/questions/14417592/node-js-difference-between-req-query-and-req-params

profile
고통없는 성장은 없다고 할 수 있겠다....

0개의 댓글