개발 일지 (TIL)

TIL 2023 08 31

늘곰's 2023. 8. 31. 21:47

app.js

import express from 'express';
import connect from './schemas/index.js'
import routerSearch from './routes/router.search.js'
const app = express();
const PORT = 3000;

connect();

const router = express.Router();

// Express에서 req.body에 접근하여 body 데이터를 사용할 수 있도록 설정합니다.
app.use(express.json());
app.use(express.urlencoded({ extended: true }));



router.get('/', (req, res) => {
 return res.json({ message: 'Hi!' });


});

app.use('/', [router, routerSearch]);

app.listen(PORT, () => {
  console.log(PORT, '포트로 서버가 열렸어요!');
});

schema


import mongoose from "mongoose";

const searchSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true, // 필수요소
  },

  ID: {
    type: String,
    required: true, // 필수요소
  },
  pw: {
    type : String,
    required : true, // 필수요소
  },


});


export default mongoose.model("serach", searchSchema);

router

import express from "express";
import serach from '../schemas/schema.search.js'

const router = express.Router();


/* 회원 등록 */

router.post('/user', async(req,res ,next) =>{
    
    const {name , ID , pw} = req.body

    const newUser = new serach({
        name,
        ID,
        pw,
    })
    await newUser.save();
    return res.status(200).json({ message: '회원등록에 성공하였습니다.' });


});




/* 회원 전체 목록 조회 */
router.get('/user', async(req,res,next) =>{
    const serachAll = await serach.find().exec();

    const mapSearchAll = serachAll.map((s) =>({

        userId : s._id,
        name : s.name,
        email : `${s.ID}@teamsparta.co`,
        pw : s.pw,

    }));

    return res.status(200).json({mapSearchAll});
});





/* 회원 상세 조회 */
router.get('/user/:userid', async(req,res,next) =>{
    const {userid} = req.params;

    const searchOne = await serach.findById(userid).exec();

    const mapSearchOne = {
        userId : searchOne._id,
        name: searchOne.name,
        email : `${searchOne.ID}@teamsparta.co`,
        pw: searchOne.pw,
    }


    return res.status(200).json({mapSearchOne});
});




export default router;

 

 

오늘 하루 느낀점

시험을 봣는데 생각보다 술술 문제가 해결이 되서 놀랐다.

1주차 과제를 작성할때 post 에서 반나절을 쩔쩔맷던게 이렇게 쉽게? 라는 느낌이었다.