본문 바로가기

Nodejs

과제 회원가입, 로그인 router, tweet 활용

과제

 

- 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