Nodejs
과제 회원가입, 로그인 router, tweet 활용
Dumbobo
2024. 4. 29. 14:53
과제
- router, data, controller에 auth.js 를 추가하고 tweet.js를 참고하여 적용
- 회원가입, 로그인(회원정보 확인 - 아이디를 보내면 해당 객체의 정보만 출력)
users = [
{
id : '1',
username : 'apple',
password : '1111',
name : '김사과',
email : 'apple@apple.com',
url : 'https://www.logoyogo.com/web/wp-content/uploads/edd/2021/02/logoyogo-1-45.jpg'
},
{
...
}
...
]
<tweet.js>
import express from 'express';
import * as tweetcontroller from '../controller/tweet.js';
import {body} from 'express-validator';
import {validate} from '../middleware/validator.js';
const router = express.Router();
const validateTweet = [
body('text').trim().isLength({min : 3}).withMessage('최소 3자 이상 입력') , validate
]
// 해당 아이디에 대한 트윗 가져오기
// GET
// http://localhost:8080/tweets?username=:username
router.get('/', tweetcontroller.getTweets);
// 글 번호에 대한 트윗 가져오기
// GET
// http://localhost:8080/tweets/:id
router.get('/:id', tweetcontroller.getTweet);
// 트윗하기
// POST
// http://localhost:8080/tweets
// name, username, text를 받아서 글을 등록
// json형태로 입력 후 추가된 데이터까지 모두 json으로 출력
router.post('/', validateTweet, tweetcontroller.createTweet);
// 트윗 수정하기
// PUT
// http://localhost:8080/tweets/:id
// id, username, text를 받아서 글을 수정
// json형태로 입력 후 변경된 데이터까지 모두 json으로 출력
router.put('/:id', validateTweet, tweetcontroller.updateTweet);
// 트윗 삭제하기
// DELETE
// http://localhost:8080/tweets/:id
router.delete('/:id', tweetcontroller.deleteTweet);
export default router;