웹/Node.js
[MongoDB] BodyParser, Postman, 회원가입 기능
ohojee
2023. 2. 24. 18:27
회원가입할 때 아이디랑 비밀번호를 입력한 후 그 내용을 서버에 전달한다
서버가 그 내용들을 받을 때 필요한 것이 body-parser
npm install body-parser --save //body-parser 설치
클라이언트를 받기 위해 postman 설치
//index.js
const bodyParser = require('body-parser');
const { User } = require("./models/User") //이전에 만든 모델 가져오기
//body-parser에 옵션 주기
//application/x-www-form-urlencoded 데이터를 분석해서 가져올 수 있도록
app.use(bodyParser.urlencoded({extended: true}));
//application/json 데이터를 분석해서 가져올 수 있도록
app.use(bodyParser.json());
//회원가입할 때 필요한 정보들을 client에서 가져오면 그것들을 DB에 넣어줌
app.post('/register', (req, res) => { //end point가 register
//정보들을 DB에 넣기 위함 req.body에는 {id: "idid", pwd: "pwd"} 이런 식으로 들어있음
//이 정보가 들어있을 수 있는건 const bodyParser = require('body-parser'); 이 문장을 써줬기 때문
const user = new User(req.body)
//db에서 오는 method들을 save해주면 정보들이 user model에 저장됨
user.save((err, doc) => {
if(err) return res.json({ success: false, err}) //에러가 뜬다면 json형식으로 err msg와 함게 전달해줌
return res.status(200).json({ //200은 성공했다는 뜻
success: true
})
})
})
overview 옆에 + 누르기 -> post로 옵션 선택 -> http://localhost:<port번호>/register 입력
body 클릭 -> raw 선택 -> Text말고 json 선택(json형식으로 보낼 것이기 때문)
근데 아직 회원가입 창이 없으니 아래 입력 공간에다가 schema에 적어준 것들을 넣어줌
send 클릭하면
아래 공간에 성공적으로 보내졌다는 의미의 "success": true가 출력됨