55일차 - Express의 req.query, req.params

김민찬·2021년 7월 3일
0

취업으로의 여정

목록 보기
56/196
post-custom-banner

저번에 올렸던 Express에서 req.query와 req.params를 정리해 보고 싶었다.

사용은 했지만 완벽하게 이해한 것이 아니라서 주말을 맞이해서 정리해본다.

Express를 자세히 보려면 Express 홈페이지를 참고하는 것이 가장 좋지만, 한글번역이 일부만 되어있어서 간결하게 설명되어 있음에도 불구하고, 언어의 장벽으로 해석의 시간이 곁들여져 약간의 시간이 더 걸린다.
그래도 기본적인 HTTP 설계에 비해서 확실히 빠르게 백엔드 작업을 할 수 있고, 간결하게 작성할 수 있어서 직관적이여서 디버깅도 쉽고, 만약 추가해야 할 것이 있으면, 미들웨어를 통해 추가할 수 있는 등 많은 장점들이 있다.

Express 설치는 간단하게 터미널에

$ npm install express --save

라고 입력하면 설치가 된다.

항상 처음배우는 것을 바로 사용하기는 쉽지 않다. 그래서 Express 홈페이지에 예제가 나와있는데

시작하기 -> Hello world

로 가면 express 사용법을 시각적으로 대략 습득할 수 있다. 이제 활용하기만 하면 된다.

사실 머리아픈 부분은 이제 시작 된다.

바로 API참조 부분인데, 본격적으로 사용을 시작하려고 API 참조로 가보면 엄청난 분량의 문서가 영어로만 작성되어 있는 것을 확인 할 수 있다.

그 중 오늘 작성할 주제는 제목에 있는 req.query와 req.params이다.

req.query

req.query를 보면

This property is an object containing a property for each query string parameter in the route. When query parser is set to disabled, it is an empty object {}, otherwise it is the result of the configured query parser.

라고 설명이 쓰여져 있다.
영어를 해석하려니 골치가 아프다.

예제로 이해하는 것이 더 좋을 것 같다.

만약 영화 사이트에서 헤이트풀8을 검색할때와 유튜브에서 저수지의 개들을 보려고 할때를 생각해 보자.

// GET /search?q=헤이트풀8
console.dir(req.query.q)
// => '헤이트풀8'

// GET /watch?v=ntDSgBRsSHK
console.dir(req.query.v)
// => 'ntDSgBRsSHK'

이런식으로 query parametrs를 가져올 수 있다.

req.params

그럼 req.params는 어떠한 동작을 할까?
주소에 포함된 변수들을 가져온다.

경로가 /user/:name 일 경우에

// GET /user/seil
console.dir(req.params.name)
// => 'seil'

이렇게 작동하는 것이다.

profile
두려움 없이
post-custom-banner

0개의 댓글