использование параметров пути в Nestjs Guard - PullRequest
0 голосов
/ 11 октября 2018

Могу ли я получить параметры пути в функции защиты nestjs другим способом, чем просто поиск необработанного объекта запроса из контекста http?

что я хочу сделать, например:

@Patch(':id/someActionName')
  @UseGuards(SomeGuard)
    async activateRole(@Param('id') id,@Body() input: SomeObject): Promise<any> {
        //some logic
        return response;
    }

и мой SomeGuard получит значение параметра 'id' и параметра 'input', входной параметр прост, но я не вижу простого способа получить 'id'

1 Ответ

0 голосов
/ 11 октября 2018

Вы можете получить доступ к параметрам маршрута, получив запрос из контекста следующим образом:

canActivate(context: ExecutionContext): boolean {
  const request = context.switchToHttp().getRequest();
  const params = request.params;
  const id = params.id; // automatically parsed
}

Этого не было в документации, и у меня была та же проблема, что и у вас, и мне пришлоськопаться в объекте запроса.

...