-
get, post 통신 해보기node.JS 2022. 2. 22. 18:06
server.js 는 컨트롤러의 역할을 한다고 했었다.
즉, api 요청을 받아 알맞은 페이지나 JSON 데이터를 답변으로 보내준다.
예시를 보자.
get 요청은 저렇게 인자로 요청이 들어온 url, 그리고 처리 로직이 작성된 콜백 함수를 넣어준다.
그 콜백 함수는 다시 두 개의 인자를 받는데,
각 각 request와 response의 약자이며, 모두 무엇을 뜻하는지 짐작해볼 수 있다.
req는 post, put, delete 요청 등에서 db를 수정하기위해 인자로 들어온 데이터 및
http 통신 정보들이 모두 들어가있다.
res는 요청을 받아서 보내줄 정보를 정의한다.
사진에는 send와 sendFile 함수가 있는데,
send는 보다시피 단지 String 데이터만 들어가있다.
따라서 요청을 받아 저 데이터가 클라이언트에 보내지면
브라우저는 받은 파일이 html이 아니라 달랑 문자이므로 브라우저 화면에 저 텍스트만 보여진다.
따라서 저러는건 별 의미가 없다.
반면 sendFIle 함수는 html 파일을 전송하므로, 원하는 화면을 클라이언트에 보내준다.
인자 __dirname 은 현재 server.js 파일의 경로를 의미한다.
그럼 post는?
먼저 npm i body-parser 설치한다.
이 라이브러리는 요청의 header는 버리고 쓸모있는 데이터인 요청의 body 부분만
바로 추출할 수 있게 해준다.
그리고 파일 상단에
이렇게 body-parser 라이브러리를 사용하겠다는 코드도 추가해준다.
그래서 클라이언트에서 post요청을 보내보면
요런식으로 req 변수로 받은 데이터를
터미널에 출력되게할 수 있다.
특히 body는 저렇게 자바스크립트 객체 형식으로 전송되는걸 인지해두자.
'node.JS' 카테고리의 다른 글
자주 사용되는 webpack plugins 정리. (0) 2022.11.07 webpack 내용 정리. (2) (0) 2022.10.17 webpack 내용 정리. (0) 2022.09.23 npm 명령어 정리 (0) 2022.09.22 Node.JS 구동하기 (0) 2022.02.22