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
@Header()
Извлекает значения из заголовков 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
}