반응형
어제 한거 복습 하기
----
폴더 만들기
폴더로 들어가서
필요한 것들 설치하기
npm i express uuid nodemon
app.js 만들기
기본적인 틀 짜기
확장에서
Prettier - 줄 자동으로 바꿔주는
설정에서
체크하면 저장하면 줄이 잘 맞춰진다.
----
노드몬 start 아니고 app으로
프로토콜 문서보고 만들기 시험으로
----
그다음 라우터를 만들어야한다.
routes/users.js 만들고 라우터를 만들것임
테스트 코드 작성
라우터 모듈화
--->
app.js 에서 라우터를 붙여야한다.
postman에서 테스트
localhost:3000/users
get post
----
const express = require("express");
const router = express.Router();
router.get("/:id", (req, res, next) => {
const id = req.params.id;
if (id === "all") {
console.log("all");
next("route");
} else {
res.end(`단일회원 검색, id: ${id}`);
}
});
router.get("/all", (req, res, next) => {
res.end("모든 회원 검색");
});
router.post("/", (req, res, next) => {
res.end("회원 등록");
});
router.post("/auth", (req, res, next) => {
res.end("회원 인증");
});
router.delete("/", (req, res) => {
res.end("회원 탈퇴");
});
router.patch("/", (req, res) => {
res.end("회원 수정");
});
module.exports = router;
라우터 만들었음
postman 에서 테스트
Get post delete 등등으로 받으면 / 루트 접근
----
post로 정보값 받기
------
router.post("/auth", (req, res, next) => {
let userauth = req.body;
let user = users.find(x => x.id === userauth.id);
let result = {
status : 200,
};
if (user === undefined) {
result.status = 500;
}
else if(userauth.id === user.id){
result.status = 200;
}
res.send(result);
});
let userauth = req.body;
post로 받은 값을 userauth 에 넣어준다 .
let user = users.find(x => x.id === userauth.id);
user 에 users 배열에 있는 id 값과 body에서 받은 id 값을 비교해서 있으면 user에 그 객체를 넣어준다.
let result = {
status : 200,
};
결과에 기본 200을 찍어주고
if (user === undefined) {
result.status = 500;
}
만약 user 가 비워 있다면 서로 값이 다르 것 이기 때문에 500를 찍어준다.
else if(userauth.id === user.id){
result.status = 200;
}
아니면 두 개가 id가 같으면 찾았기 때문에 200을 찍어준다.
res.send(result);
res로 결과를 보내준다.
---
삭제
router.delete("/", (req, res) => {
let userdel = req.body;
let usereinfo = users.find(x => x.id === userdel.id);
let result = {
status : 500,
};
if (usereinfo === undefined) {
result.status = 500;
}
else if(userdel.id === usereinfo.id){
users.pop(usereinfo);
result.status = 200;
}
console.log('삭제 후 배열 : ' + users);
res.send(result);
});
위와 비슷하지만 pop 를 써서 지워주는 부분이 있다.
------
수정하기
router.patch("/", (req, res) => {
let useredit = req.body;
let usereinfo = users.find(x => x.id === useredit.id);
let result = {
status : 500,
};
if (usereinfo === undefined) {
result.status = 500;
}
else if(useredit.id === usereinfo.id){
usereinfo.name = useredit.name;
result.status = 200;
}
console.log('수정 후 이름 : ' + usereinfo.name);
res.send(result);
});
name를 바꿔준다.
--
const express = require("express");
const router = express.Router();
const { v4: uuidv4 } = require("uuid");
let users = [];
router.get("/all", (req, res, next) => {
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);
let result = {
status : 200,
};
res.send(result);
});
router.post("/auth", (req, res, next) => {
let userauth = req.body;
let user = users.find(x => x.id === userauth.id);
let result = {
status : 500,
};
if (user === undefined) {
result.status = 500;
}
else if(userauth.id === user.id){
result.status = 200;
}
res.send(result);
});
router.delete("/", (req, res) => {
let userdel = req.body;
let usereinfo = users.find(x => x.id === userdel.id);
let result = {
status : 500,
};
if (usereinfo === undefined) {
result.status = 500;
}
else if(userdel.id === usereinfo.id){
users.pop(usereinfo);
result.status = 200;
}
console.log('삭제 후 배열 : ' + users);
res.send(result);
});
router.patch("/", (req, res) => {
let useredit = req.body;
let usereinfo = users.find(x => x.id === useredit.id);
let result = {
status : 500,
};
if (usereinfo === undefined) {
result.status = 500;
}
else if(useredit.id === usereinfo.id){
usereinfo.name = useredit.name;
result.status = 200;
}
console.log('수정 후 이름 : ' + usereinfo.name);
res.send(result);
});
module.exports = router;
const express = require('express');
const app = express();
const port = 3000;
const userRouter = require('./routes/users');
app.use(express.json());
app.use('/users', userRouter);
app.get('/', (req, res) => {
res.end('hello');
})
app.listen(port, () => {
})
반응형
'Unity > 서버' 카테고리의 다른 글
0615_서버 (DB_2) (0) | 2021.06.15 |
---|---|
0611 _ 서버 (DB_1) (0) | 2021.06.11 |
0609 _ 서버 (0) | 2021.06.09 |
0608_ 서버 (0) | 2021.06.08 |
0604_서버 4 (0) | 2021.06.04 |