4. Node 가계부 만들기 [ 유저 기능 (회원 가입) 구현 ] - 1
2022. 5. 28. 17:08ㆍ프로젝트/가계부 - 제작 JavaScript
생성되는 url
/user/:id [ GET ] : 사용중인 아이디가 있는지 확인
/user/signup [ POST ] : 회원 가입
1. /routes/users 폴더 생성
2. 필요 파일 /routes/users에 생성
- 파일 설명
users.route.js : 경로 설정
users.service.js : 실제 비지니스 코드 작성
users.validators.js : 프론트에서 넘어온 값을 유효성 검사
users.repository.js : DB에 데이터를 요청 하고 Service에 데이터 전달
* 사용하는 DB가 변경이 되더라도 service에서는 resistor에서같은 함수를 요청하면 같은 값을 받을 수 있다. *
3. users.route.js 코드 작성 (service 연결)
//users.route.js
const express = require('express')
const router = express.Router()
const { CheckUserId, CreateUser } = require('./users.service')
router.get('/:id', CheckUserId)
router.post('/signup', CreateUser)
module.exports = router
4. users.service.js 코드 작성 (기본 연결을 위해 실제 코드는 [ https://crispypotato.tistory.com/216 ] )
//users.service.js
const httpError = require('http-errors')
const { Send } = require('../../lib/lib')
const CheckUserId = async (req, res, next) => {}
const CreateUser = async (req, res, next) => {}
module.exports = { CheckUserId, CreateUser }
5. app.js에서 user.route.js연결
const express = require('express')
const logger = require('morgan')
const compression = require('compression')
const httpError = require('http-errors')
const { Error } = require('./lib/lib')
const { sequelize } = require('./models/index')
//users.route.js require
const userRouter = require('./routes/users/users.route')
if (process.env.NODE_ENV === 'local') {
sequelize
.sync()
.then(() => {
console.log('성공')
})
.catch((err) => {
console.log('실패')
console.log(err)
})
}
const app = express()
app.use(compression())
app.use(logger('dev'))
app.use(express.json())
// user url routing 설정
app.use('/user', userRouter)
app.use(() => {
throw httpError(404)
})
app.use(Error)
app.listen(3000, () => {
console.log('server start!')
})
728x90
반응형
'프로젝트 > 가계부 - 제작 JavaScript' 카테고리의 다른 글
6. Node 가계부 만들기 [ 유저 기능 (회원 가입) repository 코드 작성 ] - 3 (0) | 2022.05.28 |
---|---|
5. Node 가계부 만들기 [ 유저 기능 (회원 가입) 필요 함수 구현 ] - 2 (0) | 2022.05.28 |
3. Node 가계부 만들기 [ 데이터 / Error 전송 포맷 설정 함수 생성, http-errors 사용, Error 핸들러 ] (0) | 2022.05.23 |
2. Node 가계부 만들기 [ .env 파일 사용, Mysql Sequlize 연결, Mysql 동기화 ] (0) | 2022.05.23 |
1. Node 가계부 만들기 [ 필요 파일/라이브러리 생성, 설치] (0) | 2022.05.22 |