http-errors

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
http-errors [2024/06/03 18:25]
tro
http-errors [2024/06/03 19:02] (текущий)
tro
Строка 6: Строка 6:
 Створюємо мідлвеар що буде займатись обробкою помилок. Один мідлвеар для обробок помилок, другий для обробки відсутності запрашуємо роутінга Створюємо мідлвеар що буде займатись обробкою помилок. Один мідлвеар для обробок помилок, другий для обробки відсутності запрашуємо роутінга
 <code> <code>
- // src/controllers/students.js +import { isHttpError } from 'http-errors';
  
-// 1. Імпортуємо функцію з бібліотеки +//Функція обробки помилок errorHandlerMiddleware.js 
-import createHttpError from 'http-errors';+export const errorHandlerMiddleware = (error, req, res, next) => {
  
-/* Інший код файлу */ +    if (isHttpError(error)) { 
- +      res.status(error.status).json({ 
-export const getStudentByIdController = async (req, res, next=> +      status: error.status, 
-  const { studentId } = req.params; +      message: error.message, 
-  const student = await getStudentById(studentId)+      data: {"message": error.message}, 
- +      }); 
-  if (!student) +    } else { 
-    // 2Створюємо та налаштовуємо помилку +      res.status(500).json({ 
-    next(createHttpError(404'Student not found')); +      status: 500
-    return; +      message: error.message
-  +      }); 
- +    } 
-  res.json({ +  };
-    status: 200+
-    message: `Successfully found student with id ${studentId}!`+
-    data: student, +
-  }); +
-};+
  
 </code> </code>
Строка 112: Строка 107:
 } }
 </code> </code>
 +Тепер при створенні помилки чере **throw createHttpError(404, `Contact with id ${id} not found!`);**  бібліотека автоматично перехватить помилку і передасть в обробку у мідлваре **errorHandlerMiddleware.js** або **notFoundHandler.js**
  • /sites/data/attic/http-errors.1717439144.txt.gz
  • Последнее изменение: 2024/06/03 18:25
  • tro