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 요청과 응답에 대한 테스트를 자동화 할 수 있음
'Web > React Node js' 카테고리의 다른 글
노드 기초 강의 (7) - 비밀 설정 정보 관리 (0) | 2022.02.27 |
---|---|
노드 기초 강의 (6) - Nodemon 설치 (0) | 2022.02.26 |
노드 기초 강의 (4) - SSH를 이용한 GITHUB 연결 (0) | 2022.02.26 |
노드 기초 강의 (3) - MongoDB Model & Schema (0) | 2022.02.26 |
노드 기초 강의 (2) - MongoDB & Mongoose 연결 (0) | 2022.02.26 |
댓글