feat(server): add error handler & refactor controllers
This commit is contained in:
17
packages/server/src/middleware/errorHandler.ts
Normal file
17
packages/server/src/middleware/errorHandler.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import {Request, Response, NextFunction} from "express";
|
||||
import {ApiError} from "../types/api";
|
||||
|
||||
export function errorHandler(err: any, req: Request, res: Response, next: NextFunction) {
|
||||
console.error(err);
|
||||
|
||||
if (err instanceof ApiError) {
|
||||
return res.status(err.status).json({code: err.status, message: err.message, data: null});
|
||||
}
|
||||
|
||||
// tsoa 内部生成的验证错误
|
||||
if (err.status && err.status >= 400) {
|
||||
return res.status(err.status).json({ message: err.message });
|
||||
}
|
||||
|
||||
res.status(500).json({ message: 'Internal Server Error' });
|
||||
}
|
||||
Reference in New Issue
Block a user