우선 POST /user/ 을 통해 요청을 받기 때문에 user.js라우터에서 요청을 처리해 줄것입니다.
constexpress=require("express");constrouter=express.Router();// 'POST /user/' 를 통해 요청을 받을 경우 라우터router.post("/", (req, res, next) => { //next는 미들웨어 작업});module.exports= router;
이제 저 안에다가 작성을 해볼까요?
먼저 비동기 작업이기 떄문에 무조건 에러처리를 해줘야 합니다 .
순서
try-catch문을 사용한뒤 , 순서는 다음과 같습니다.
요청받은 email 과 DB에 저장된email이 중복되는지 체크
중복값이 없다면 에러코드와 같이 메세지를 날려준다.
중복값이 없다면, bcrypt를 통해 받은 비밀번호를 암호화(해쉬화)
비동기 작업으로 User모델에 담아준다.
작업이 완료되면, 201상태와 함께 성공메세지를 보내고,
작업중간 에러가 발생하면 catch문에서 error처리
이제 시작해 볼까요?
1.요청받은 email 과 DB에 저장된email이 중복되는지 체크
constexpress=require("express");//User모델을 불러온뒤const { User } =require("../models");constrouter=express.Router();// 'POST /user/' 를 통해 요청을 받을 경우 라우터router.post("/", (req, res) => {try {//1.중복체크constexUser=awaitUser.findOne({ where:{//where은 조건 email:req.body.email,//같은 email이 있는지 } }) } catch (e) { }});module.exports= router;