[Node.js] mysql 기본세팅 알아보기 & cors

2023. 2. 6. 13:02·Node.js
목차
  1. body-parser 
  2. cors
728x90
반응형

body-parser 

npm install body-parser --save

를 하여 body-parser를 설치하여 준다.

이를 사용하는 이유는 클라이언트 POST request data의 body로부터 파라미터를 편리하게 추출하기 위해서이다. 프론트엔드에서 form등의 값을 가져올 때 undefined error를 마주하게 된다. req.body를 사용해서 가져오게 되면, body-parser를 사용하지 않는다면 기본값으로 undefined가 설정되어 있어서 그러한 오류가 난다.

(Express v4.16.0 기준)express.js도 빌트인 body parser가 되어있다. 그래서 express.json, express.urlencoded도 가능하다.

const bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());

클라이언트로 부터 받은 http 요청 메시지 형식에서 body데이터를 해석하기 위해서 express.json() 와 express.urlencoded()로 처리가 필요하다.

반응형

1) bodyParser.urlencoded()

body-parser 모듈을 사용할 때 아무 옵션을 주지 않는다면 body-parser deprecated undefined extended: provide extended option이라는 문구가 뜬다. 이는 node.js에 기본으로 내장된 queryString을 가져올 것이냐, 가져오지 않을 것이냐는 말이다.

  • extended: false : NodeJs에 기본으로 내장된 querystring모듈을 사용한다.
  • extended: true :  추가로 설치가 필요한 qs모듈을 사용한다.

2) bodyParser.json()

form으로 가져오는 값은 x-www-form-urlencoded형태이다. 이를 가져올려면 urlencoded()를 사용해서 가져와야 하고, json은 json형태의 값만 가져올 수 있다.

 

cors

const cors = require("cors");

app.use(cors())

별도의 처리 없이 app.use(cors())를 하게 되면 모든 도메인에서 제한 없이 해당 서버에 요청을 보내고 응답을 받을 수 있다.

corsOptions 변수에 자신이 허용할 도메인을 추가하고 app.use(cors(corsOptions))를 하게 되면 해당 도메인은 제한 없이 해당 서버에 요청을 보내고 응답을 받을 수 있다.

app.use(cors(corsOptions));
728x90
반응형
  1. body-parser 
  2. cors
'Node.js' 카테고리의 다른 글
  • [Node.js] express 미들웨어(MiddleWare) 알아보기
  • [Node.js] node.js에서 CRUD기능 구현하기
  • [Node.js] Sequelize 사용하기
  • [Node.js] Connection Pool의 개념과 사용법
Uheeking
Uheeking
안녕하세요. react, flutter, node.js에 관련해서 글을 쓰는 블로그입니다.
Uheeking
Uheeking의 it로그
Uheeking
전체
오늘
어제

공지사항

  • 분류 전체보기 (254)
    • React (48)
    • Node.js (32)
    • Next.js (22)
    • Vue.js (15)
    • javascript (3)
    • Django (19)
    • etc (23)
    • Flutter (30)
    • Error (16)
    • AWS (11)
    • docker & Kubernetes (32)
    • git (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
250x250

인기 글

태그

  • supabase
  • firebase
  • 도커
  • SSR
  • node.js
  • useEffect
  • 쿠버네티스
  • 오블완
  • 넥스트
  • Props
  • Vue.js
  • 티스토리챌린지
  • sequelize
  • next.js
  • error
  • 플러터
  • Express
  • Django
  • Kubernetes
  • docker
  • Create
  • 리액트
  • flutter
  • AWS
  • MySQL
  • 노드
  • 장고
  • NEXT
  • React
  • mosquitto

최근 댓글

최근 글

250x250
hELLO· Designed By정상우.v4.5.2
Uheeking
[Node.js] mysql 기본세팅 알아보기 & cors

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.