0610 서버 데이터 전송 방법에 따라 구현하기
2021. 6. 10. 15:21ㆍNode.js
//app.js
const express = require('express');
const userRouter = require('./routes/users');
const app = express();
const port =3000;
app.use(express.json());
app.use('/users',userRouter);
app.get('/', (req, res)=>{
res.end('hello world!');
});
app.listen(port,()=>{
console.log(`server is running at ${port}port...`)
});
//users.js
const express = require("express");
const { v4: uuidv4 } = require("uuid");
const router = express.Router();
let users = [];
router.get("/all", (req, res, next) => {
console.log(req.body);
res.end("모든 회원 검색");
});
router.get("/:id", (req, res, next) => {
const id = req.params.id;
let user = users.find(x => x.id === id);
let result = {
status: 200,
user,
};
if (user === undefined) {
result.status = 500;
}
res.send(result);
});
router.post("/", (req, res, next) => {
let user = req.body;
const uuid = uuidv4();
user.id = uuid;
users.push(user);
console.log(users);
console.log(req.params);
console.log(req.body)
let result = {
status: 200
};
//post 방식으로 유저의 데이터를 받아온다.
//이때 uuid가 새로 생성된다.
res.send(result);
});
router.post("/auth", (req, res, next) => {
const userInfo = req.body;
let user = users.find((x)=>x.id===userInfo['id']);
//req.body에서 POST 된 유저의 인포를 가져와
//'id'를 찾아서 가져온다.
let result = {
status:200,
//만일 DB내에 id가 있으면 return 200
};
if(user===undefined){
result.status=500;
//없으면 return 500
};
res.send(result);
});
router.delete("/", (req, res) => {
const userInfo = req.body;
let user = users.find((x)=>x.id===userInfo['id']);
let result = {
status:200,
}
if(user===undefined){
result.status =500;
//DB 내에 유저 id가 없으면 return 500
}
else {
delete user;
return res.send(JSON.stringify(users));
//DB 내에 유저 id가 있으면 해당 유저를 삭제
}
res.send(result);
});
router.patch("/", (req, res) => {
const userInfo = req.body;
let user = users.find((x)=>x.id===userInfo['id']);
let result = {
status:200,
}
if(user===undefined){
result.status=500;
}
else{
result.status=200;
user['nickname']=userInfo['nickname'];
//DB에 있던 유저의 닉네임에 DB로 들어온 닉네임을 넣어준다.
console.log(userInfo['nickname']);
}
res.send(result);
});
module.exports = router;
'Node.js' 카테고리의 다른 글
0615 express서버와 mysql 커넥션 (0) | 2021.06.15 |
---|---|
0611 express 서버 이어서 (0) | 2021.06.11 |
0609 express 서버 열기 (0) | 2021.06.09 |
0608 npm express 웹 서버 만들기 (0) | 2021.06.08 |
0608 REST API와 라우팅 (0) | 2021.06.04 |