Nest.js - есть ли другой способ получить запрос / тело, кроме ParamDecorator?

Почему-то ParamDecorator выглядит совсем не круто. Есть ли другой способ получить тело или запрос? Например. декоратором функций или чем-то глобальным?

@Post('token')
public async createToken(@Body() body: UserLogin): Promise<any> {
  return await this.authService.signIn(body);
}

К сожалению, это не работает.

@Post('token')
@Body('body')
public async createToken(body: UserLogin): Promise<any> {
  return await this.authService.signIn(body);
}

person bonblow    schedule 23.11.2018    source источник


Ответы (2)


Нет возможности получить эту информацию без использования декораторов для самих параметров функции. Что заставляет вас чувствовать, что они «не крутые»? Не похоже, что вы многого добьетесь, переместив их из параметров функции в функцию.

person Jesse Carter    schedule 23.11.2018

Вы можете получить доступ к телу с помощью объекта запроса

async getPostById(@Req() req, @Res() res) {
   const body = req.body;
   ...
}

Но таким образом вы можете спросить, что используете декоратор для доступа к объекту запроса!

person user9083221    schedule 19.03.2019