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 에서 반나절을 쩔쩔맷던게 이렇게 쉽게? 라는 느낌이었다.
'개발 일지 (TIL)' 카테고리의 다른 글
| TIL 2023 09 02 (0) | 2023.09.02 |
|---|---|
| TIL 2023 09 01 (0) | 2023.09.01 |
| TIL 2023 08 30 (0) | 2023.08.30 |
| TIL 2023 08 29 (0) | 2023.08.29 |
| TIL 2023 08 28 (0) | 2023.08.28 |