[node.js] req.params vs req.body vs req.query
node.js๋ก ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ์ฃผ์๋ก ๋ฐ๋ params( ๋ผ์ฐํฐ ๋งค๊ฐ๋ณ์) ์ req.body ๋ฐ์ดํฐ๋ค์ ๋ด์์ ๋ณด๋ผ ๋ ์ฌ์ฉํ๋ ๊ฒ(์ ์ ์ ์ ๋ณด ๋๋ ํ์ผ) ํค ๊ฐ์ผ๋ก ๋ณด๋ด๋ ๊ฒ์ ์๊ณ ์์์ผ๋ req.query๋ฅผ ์ฐ๋ ์ ๋ฐฐ๋ฅผ ๋ณด๊ณ ์ด๊ฑด ๋ชจ๋ฅด๋ฉด ์๋ ๊ฒ ๊ฐ์์ ์ ๋ฆฌ ํฉ๋๋ค.
req.params
- ๋ผ์ฐํฐ ๋งค๊ฐ๋ณ์
์๋ฅผ ๋ค์ด /:id/:name ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด ":id"์์ฑ๊ณผ ":name"์์ฑ์ req.params.id, req.params.name์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
www.example.com/post/1/jun ์ผ ๊ฒฝ์ฐ 1๊ณผ jun์ ๋ฐ๋๋ค.
req.body
- JSON ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ๋ด์๋ ์ฌ์ฉํ๋ค. (์ฃผ๋ก POST๋ก ์ ์ ์ ์ ๋ณด ๋๋ ํ์ผ ์ ๋ก๋(formdata)๋ฅผ ๋ณด๋์ ๋ )
์์ฒญ ๋ณธ๋ฌธ์ ์ ์ถ ๋ ํค-๊ฐ ๋ฐ์ดํฐ ์์ ํฌํจํ๋ค.
req.query
- ๊ฒฝ๋ก์ ๊ฐ ์ฟผ๋ฆฌ ๋ฌธ์์ด ๋งค๊ฐ ๋ณ์์ ๋ํ ์์ฑ์ด ํฌํจ ๋ ๊ฐ์ฒด๋ค. (์ฃผ๋ก GET ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ)
์๋ฅผ ๋ค์ด www.example.com/post/1/jun?title=hello! ์ด๋ฉด,
title ๋งค๊ฐ๋ณ์(parameter)์, hello!์ด๋ผ๋ ๊ฐ(argument)์ ๊ฐ์ ธ์จ๋ค.
์ด์ ๋ฆฌ
- params๋ router ๋งค๊ฐ๋ณ์ ๊ฐ๊ณ ์จ๋ค.
- bodys๋ post๋ก ๋ณด๋ธ ๊ฐ์ฒด ๋ถ๋ถ์ ๊ฐ๊ณ ์จ๋ค
- query ๋ ? ๋ท๋ถ๋ถ์ ๊ฐ์ ธ์จ๋ค.!!