과제
- 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;
'Nodejs' 카테고리의 다른 글
tweet, auth DB연결 (2024-05-08) (0) | 2024.05.08 |
---|---|
Authentication (2024-05-02) (0) | 2024.05.02 |
리팩토링, validation(2024-04-29) (0) | 2024.04.29 |
params, query (0) | 2024.04.29 |
route 활용 (tweet 예제) (2024-04-26) (0) | 2024.04.26 |