본문 바로가기
Web/React Node js

노드 기초 강의 (5) - BodyParser & PostMan & 회원가입 기능

by SeleniumBindingProtein 2022. 2. 26.
728x90
반응형

1. client와 server 통신 방법 

  - client : 우리가 일반적으로 사용하는 pc, 브라우저에서 행해지는 부분

                 네트워크로 연결된 서버로부터 정보를 제공받는 컴퓨터. 서비스를 사용하는 사용자

                 client는 서버 컴퓨터로부터 정보를 받아 웹 브라우저를 통해 보여지는 정보를 볼 수 있음

  - server : IDE를 통해 작성한 코드 부분

                   클라이언트에게 네트워크를 통해 서비스를 제공하는 시스템

                   서버는 기획자가 제작하고자 하는 웹, 모바일 서비스에 맞는 데이터를 넣어 고객들의 요청에 맞게 전달함

   - BodyParser : 클라이언트에서 정보를 입력해서 서버로 넘길 때 필요한 Dependency이며,

                            클라이언트에서 보내주는 자료들을 받을 수 있게 도와줌

                            Body데이터를 분석해서 req.body로 출력해주는 것

 

  - BodyParser 설치 : 'npm install body-parser --save'

{
  "name": "boiler-plate",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "BMK",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.19.2",	//body-parser 생성
    "express": "^4.17.3",
    "mongoose": "^6.2.3"
  }
}

 

2. Register Route 생성

const express = require('express')
const app = express()
const port = 6600

const {User} = require("./models/User");
//bodyParser가 client에서 오는 정보들을 서버에서 분석해서 가져올 수 있도록 해주는 코드
const bodyParser = require('body-parser');
//application/x-www-form-urlencoded 처럼 된 데이터를 분석해서 가져올 수 있게 해줌
app.use(bodyParser.urlencoded({extended: true}));
//application/json 처럼 된 데이터를 분석해서 가져올 수 있게 해줌
app.use(bodyParser.json());

const mongoose = require('mongoose')
mongoose.connect('mongodb+srv://akfkdhwk:qudals090862@cluster0.syb7f.mongodb.net/myFirstDatabase?retryWrites=true&w=majority', {
}).then(() => console.log('MongoDB Connected...'))
  .catch(err => console.log(err))

app.get('/', (req, res) => {
  res.send('Hello World!')
})

//Register Route 생성코드
app.post('/register', (req,res) =>{
    //회원 가입할 때 필요한 정보들을 client에서 가져오면 그것들을 데이터베이스에 넣어준다. 
    
    //bodyParser를 통해 req.body 안에 json 형식으로 {id: "hello", password: "123}과 같이 들어있음
    //bodyParser를 이용해서 req.body로 클라이언트에서 보내는 정보를 받아줌
    const user = new User(req.body)
    
    //save는 몽고디비 메서드이며, user.save()를 통해 위 정보들이 유저모델에 저장됨
    user.save((err, userInfo) => { //(err,doc) => {} : callback function
    	//에러 시에 false와 에러메시지 전달
        if(err) return res.json({success: false, err})
        return res.status(200).json({ //status 200 : 성공했다는 형식
            success: true //성공 시, 저장한 userInfo를 클라이언트에게 json형태로 전달함
        })
    })
})



app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

 

3. PostMan을 활용하여 결과 테스트 확인

  - PostMan : 개발한 API를 테스트하고, 테스트 결과를 공유하여 API 개발의 생산성을 높여주는 플랫폼이며,

                        API 요청과 응답에 대한 테스트를 자동화 할 수 있음

728x90
반응형

댓글