В этой статье блога мы углубимся в использование канала ParseInt в Nest.js, мощной среде для создания масштабируемых и удобных в обслуживании серверных приложений с помощью TypeScript. Мы рассмотрим различные методы и приемы эффективного использования канала ParseInt для анализа чисел в ваших приложениях Nest.js. К концу этой статьи вы получите четкое представление о том, как использовать эту функцию для упрощения анализа чисел и повышения надежности ваших API.
Метод 1: базовое использование канала ParseInt:
Канал ParseInt — это встроенная функция Nest.js, которая позволяет автоматически анализировать параметры входящего запроса или значения запроса в целочисленные значения. Давайте рассмотрим простой пример:
@Get(':id')
async getById(@Param('id', ParseIntPipe) id: number) {
// The 'id' parameter is automatically parsed as an integer
// and is available for further processing
// ...
}
В этом примере декоратор @Param
используется для доступа к параметру id
из маршрута. Применяя ParseIntPipe
к параметру id
, Nest.js автоматически преобразует входящее значение в целое число.
Метод 2: применение проверки с помощью канала ParseInt:
Канал ParseInt также можно использовать для проверки проанализированного целочисленного значения. Вы можете применять различные правила проверки, чтобы обеспечить целостность анализируемого значения. Рассмотрим следующий пример:
@Get(':id')
async getById(@Param('id', new ParseIntPipe({ errorHttpStatusCode: 400 })) id: number) {
// The 'id' parameter is automatically parsed as an integer
// and validated. If the value is not a valid integer,
// a 400 Bad Request error will be thrown.
// ...
}
В этом примере мы передаем экземпляр класса ParseIntPipe
с объектом конфигурации декоратору @Param
. Свойству errorHttpStatusCode
присвоено значение 400, что указывает на то, что ошибка неверного запроса должна быть возвращена, если проанализированное значение не является допустимым целым числом.
Метод 3. Обработка ошибок синтаксического анализа с помощью фильтров исключений.
При возникновении ошибки синтаксического анализа Nest.js по умолчанию выдает BadRequestException
. Однако вы можете настроить поведение обработки ошибок с помощью фильтров исключений. Вот пример:
@Get(':id')
@UseFilters(new ParsingExceptionFilter())
async getById(@Param('id', ParseIntPipe) id: number) {
// ...
}
В этом примере мы используем декоратор @UseFilters
, чтобы применить собственный фильтр исключений под названием ParsingExceptionFilter
. Этот фильтр можно использовать для обработки ошибок синтаксического анализа и предоставления значимого ответа клиенту.
Конвейер ParseInt в Nest.js — ценный инструмент для упрощения анализа чисел и обеспечения соблюдения правил проверки в конечных точках API. Используя канал ParseInt, вы можете обеспечить целостность входящих числовых данных и повысить надежность вашего приложения. Не забывайте корректно обрабатывать ошибки синтаксического анализа, используя фильтры исключений, чтобы обеспечить удобство работы с пользователем.