Express에서 간편한 데이터 전송
안녕하세요! 이번에는 Express에서 쿼리 문자열을 다뤄보겠습니다. 쿼리 문자열은 URL에 물음표 뒤에 나오며, 키-값 쌍으로 정보를 담고 있습니다. 이를 활용하면 Express 애플리케이션에서 클라이언트로부터 데이터를 받을 수 있습니다.
쿼리 문자열의 예시
MDN을 통해 간단한 예시를 확인해보겠습니다. 예를 들어, /search?colors=red와 같은 URL에서 colors라는 키의 값은 red입니다. Express를 사용하면 클라이언트가 전송한 쿼리 문자열을 쉽게 다룰 수 있습니다.
Express에서의 쿼리 문자열 다루기
Express에서는 쿼리 문자열을 직접 라우트 경로에 매치시키지 않습니다. 대신, Express는 req 객체를 구축하고 이 객체에 query라는 특성을 추가합니다. 이 query 특성은 쿼리 문자열을 파싱하여 키-값 쌍으로 저장하게 됩니다.
app.get('/search', (req, res) => {
const { q } = req.query;
if (!q) {
return res.send('No search query provided.');
}
res.send(`<h1>Search results for: ${q}</h1>`);
});
PostMan을 실행시켜 localhost:8080/search 주소를 입력하고 Param 기능에 q, dogs와 color, red를 넣어 Send를 누르면 완성된 URL이 아래와 같이 생성된다.
다중 키-값 쌍 다루기
Postman을 사용하여 여러 개의 키-값 쌍을 쿼리 문자열로 전송하는 예시도 살펴보았습니다. Express에서는 이러한 다중 키-값 쌍도 req.query 객체로 처리됩니다.
쿼리 문자열 추출과 활용
위의 코드에서 req.query를 통해 쿼리 문자열을 추출하고, 검색어가 제공되지 않은 경우 예외 처리를 하였습니다. 이후에는 검색어를 사용하여 응답을 구성할 수 있습니다.
app.get('/search', (req, res) => {
const { q } = req.query;
if (!q) {
res.send('NOTHING FOUND IF NOTHING SEARCHED!')
} else {
res.send(`<h1>Search results for: ${q}</h1>`)
}
})
이제 Express에서의 쿼리 문자열 다루기에 대해 이해하셨습니다. 클라이언트로부터의 데이터 전송은 이제 더 쉬워진 것이죠. 계속해서 Express의 다양한 기능을 탐험해 나가보세요! 🚀
'프로그래밍 언어 > Node.js' 카테고리의 다른 글
[Node.js] EJS을 이용한 동적 컨텐츠 생성하기 (0) | 2023.11.10 |
---|---|
[Node.js] Nodemon을 사용한 서버 자동 재시작 (0) | 2023.11.09 |
[Node.js] Express 경로 매개 변수 (0) | 2023.11.09 |
[Node.js] Express 라우팅 기초: 다양한 응답으로 라우팅하기 (1) | 2023.11.09 |
[Node.js] 요청 및 응답 객체: Express에서의 상호작용 (0) | 2023.11.09 |