Node.js/이론 및 용어

생활코딩 node.js 32강에 querystring 모듈을 대체하기 feat.URLSearchParam

tokkiC 2022. 8. 23. 17:11

생활코딩 32강에서는 사용자가 post 방식으로 요청한 formData를 받아서 변수로 사용하는 법을 알려준다

querystring 모듈을 사용해서 form 으로 보낸 formData를 받는데,

문제는 이 querystring 모듈이 이젠 사장된(deprecated) 이라는 것이다

마우스를 올려보니 querystring API 는 옛 기술이니 아직은 잠깐 사용가능하게 유지해주지만, URLSearchParams API를 대신 사용하란다

vscode 를 캡쳐한 것이라 어두우니 nodejs 사이트의 설명을 가져왔다 같은 내용이다

두 캡쳐 모두 querystring 대신 URLSearchParams API를 사용하라고 말하고 있다

URLSearchParmas 라면 아하 이전에 URL 객체 내의 searchParmas 값으로 가진 객체아냐?

내가 봤어 URL 속성 밑에 쩌어기서!

URL 객체와 그 객체의 searchParmas  속성을 콘솔로그로 찍어보면 아래와 같이 나온다

URLSearchParams 객체가 보이는데 빈 객체이다

아직 URLSearchParams 에 form data를 전달하지 않아 빈 모습이다

이전에 만든 URL 객체에는 따로 요청하는 것이 없었으므로

키와 값의 쌍인 pair 을 요소로 갖는 URLSearchParmas 객체도 비어서 조회하여 값을 얻을 수 없었지만

크롬 개발자 도구에서 form 으로 전달한 데이터가 보인다

form 사용시 데이터를 이벤트로 입력 받아 변수로 저장해서

새 URLSearchParmas 객체를 만들고 폼으로 받은 변수를 인자로 넣어줘서 값을 갖게하여

새 URLSearchParams 의 값을 접근하여 사용가능하다

URL.serachParams.UrlSearchParams 과 같은 객체를 가리키므로 간단히 new URLSearchParams 로 새 객체를 만들어

사용하면 될것이다

그러므로 다음과 같이 코드를 짜면 짠! 쿼리 스트링을 대체하였다

스스로에게 주는 당근