Перейти к основному содержимому

source-decorators

Встроенные декораторы

ДекораторИсточник
@Body()req.body
@Query()req.query
@Header()req.headers
@Uri()req.params
@Params()req.params
@Session()req.session

Подробности о декораторах

@Body()

Извлекает данные из тела HTTP-запроса и привязывает их к соответствующему полю.

  • источник: req.body

@Query()

Извлекает данные из параметров строки запроса HTTP и привязывает их к соответствующему полю.

  • источник: req.query

Извлекает значения из заголовков HTTP-запроса и привязывает их к соответствующему полю. Обычно используется для доступа к метаданным запроса, таким как токены аутентификации (Authorization) или пользовательские заголовки, непосредственно из DTO.

  • источник: req.headers

@Uri() / @Params()

Извлекает переменные пути из URL HTTP-запроса и привязывает их к соответствующему полю. Обычно используется для получения идентификаторов ресурсов (таких как id) в REST API как части DTO.

Оба декоратора выполняют одно и то же внутреннее поведение, и @Uri() является псевдонимом @Params().

  • источник: req.params
  • Часто используется в маршрутах, таких как /users/:id, /posts/:postId

@Session()

Извлекает значения, хранящиеся в сессии, и привязывает их к полю DTO. Это полезно для передачи состояния на стороне сервера, такого как информация об аутентифицированном пользователе, в DTO.

  • источник: req.session
  • Доступно только при настроенном промежуточном ПО сессии

Пример использования

Вот пример того, как использовать декораторы источников в приложении Express.

class Request {
@Body('email')
email!: string

@Query('limit')
limit!: number

@Header('Authorization')
authorization!: string
}