-
06/10 node.js express를 사용한 rest api 연습게임 웹 프로그래밍/node.js 2021. 6. 10. 14:18
npm init -y
npm i express uuid nodemon
visual studio code
코드 정리 툴
prettier
파일 > 기본설정 > 설정
save검색
Formate On Save 체크설정
라우터
const userRouter = require("./routes/users");
app.use('/users', userRouter);서버 할일
id를 생성
객체로 만들어서 배열에 추가
password 암호화 할수 있음 하기
npm crypto검색
jwttoken
응답시
status 200
오류시 500
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.listen(port, () => {});
users.js
const express = require("express"); const router = express.Router(); const { v4: uuidv4 } = require("uuid"); const CryptoJS = require("crypto-js"); let users = []; router.get("/all", (req, res, next) => { res.send({status : 200, result : users}); }); 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; let ciphertext = CryptoJS.AES.encrypt(req.body.password, 'secret key 123').toString(); user.password = ciphertext; 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 user = req.body; let result = { status: 500, }; let userFind = users.find(x => x.id === user.id); if(user != undefined) { var bytes = CryptoJS.AES.decrypt(userFind.password, 'secret key 123'); var originalText = bytes.toString(CryptoJS.enc.Utf8); console.log(originalText); console.log(user.password); if(originalText == req.body.password){ result.status = 200; } } res.send(result); }); router.delete("/", (req, res) => { let user = req.body; let result = { status: 500, }; let userFind = users.find(x => x.id === user.id); if(user != undefined) { var bytes = CryptoJS.AES.decrypt(userFind.password, 'secret key 123'); var originalText = bytes.toString(CryptoJS.enc.Utf8); if(originalText == req.body.password){ let target = users.indexOf(userFind); users.splice(target); result.status = 200; } } res.send(result); }); router.patch("/", (req, res) => { let user = req.body; let result = { status: 500, }; let userFind = users.find(x => x.id === user.id); if(userFind != undefined) { var bytes = CryptoJS.AES.decrypt(userFind.password, 'secret key 123'); var originalText = bytes.toString(CryptoJS.enc.Utf8); if(originalText == req.body.password){ userFind.nickname = user.nickname; result.status = 200; } } res.send(result); }); module.exports = router;
'게임 웹 프로그래밍 > node.js' 카테고리의 다른 글
06/16 node.js 카카오톡 로그인 (0) 2021.06.16 06/11 node.js 리퀘스트의 params, query확인 (0) 2021.06.11 06/09 node.js (0) 2021.06.09 06/08 node.js (0) 2021.06.08 06/04 node.js (0) 2021.06.04