📝📌📒
📌 기본적인 회원가입의 기초가 되는 사용자 생성 API
const http = require('http')
const express = require('express')
const { PrismaClient } = require('@prisma/client')
const prisma = new PrismaClient()
const app = express()
app.use(express.json()) // for parsing application/json
app.post('/users/signup', async (req, res) => { // 1
try { // 2
const { email, password } = req.body // 3
console.log('email: ', email, 'password: ', password)
// 비밀번호가 짧을때 // CUSTOM_ERROR
// 가입했던 이용자가 또다시 가입을 요청할 때 // CUSTOM_ERROR
const createdUser = await prisma.$queryRaw`
INSERT INTO users(email, password) VALUES (${email}, ${password});
` // 4
return res.status(201).json({ message: "CREATED" }) // 5
} catch (err) { // 2
console.log(err)
return res.status(500).json({ message: err.message }) // 6
}
})
const server = http.createServer(app) // express app 으로 서버를 만듭니다.
const start = async () => { // 서버를 시작하는 함수입니다.
try {
server.listen(8000, () => console.log(`Server is listening on 8000`))
} catch (err) {
console.error(err)
// await prisma.$disconnect() // 에러가 발생했을 시에 database 연결을 종료합니다.
}
}
start()
콜백 함수가 선언된 이유는 비동기입니다. await 예약어를 사용하여 비동기식 처리를 트리거하십시오.
try / catch 문과 주문형 실행은 오류를 처리할 수 있습니다 구조 이전