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' }); }