-template
This commit is contained in:
@@ -2,30 +2,30 @@ import express from 'express'
|
||||
import cors from 'cors'
|
||||
import dotenv from 'dotenv'
|
||||
import router from './routes/route.js'
|
||||
import { validateJsonFormat } from './middlewares/validate.js'
|
||||
import { globalResponseHandler } from './middlewares/responseHandler.js'
|
||||
|
||||
dotenv.config()
|
||||
|
||||
const app = express()
|
||||
app.use(cors())
|
||||
|
||||
// ✅ ตรวจจับ JSON format error ก่อน parser
|
||||
app.use(express.json({ limit: '10mb' }))
|
||||
app.use(validateJsonFormat)
|
||||
|
||||
app.use('/api', router)
|
||||
// middleware จัดการ error กลาง
|
||||
app.use(globalResponseHandler);
|
||||
|
||||
app.use((err, req, res, next) => {
|
||||
if (err instanceof OftenError) {
|
||||
res.status(err.statusCode).json({
|
||||
type: err.type,
|
||||
messageTh: err.messageTh,
|
||||
messageEn: err.messageEn
|
||||
});
|
||||
} else {
|
||||
res.status(500).json({ message: "Unexpected error" });
|
||||
if (err instanceof SyntaxError && err.status === 400 && 'body' in err) {
|
||||
console.error('🟥 Invalid JSON Received:', err.message)
|
||||
return res.status(400).json({
|
||||
code: "400",
|
||||
message: "Invalid JSON format",
|
||||
message_th: "โครงสร้าง JSON ไม่ถูกต้อง",
|
||||
data: []
|
||||
})
|
||||
}
|
||||
});
|
||||
next()
|
||||
})
|
||||
|
||||
app.use('/api/template', router)
|
||||
|
||||
app.listen(process.env.PORT, () => {
|
||||
console.log(`✅ ${process.env.PJ_NAME} running on port ${process.env.PORT}`)
|
||||
|
||||
Reference in New Issue
Block a user