Как правильно использовать @Headers в Nest.js? - PullRequest
0 голосов
/ 07 января 2019

В соответствии с документами контроллера я могу использовать @Headers(param?: string) или req.headers или req.headers[param] для получения значения заголовка. Я попробовал первый подход, у меня есть следующие в моем запросе заголовки от Почтальона

Content-Type:application/json
My-Id:test12345

У меня следующий пример кода контроллера

@Put('/aa/:aa/bb/:bb/')
@UsePipes(new ValidationPipe({ transform: true }))
public async DoMyJob(@Body() request: MyRequestDto,
                                @Param('aa') aa: number,
                                @Param('bb') bb: string,
                                @Headers('My-Id') id: string): Promise<MyResponseDto> {
    // More code here
}

Когда я устанавливаю точку останова для проверки значения из заголовка My-Id, оно не определено.

Итак, как мне правильно поступить в Nest.Js, чтобы получить значение заголовка от клиента службы RESTful?

1 Ответ

0 голосов
/ 08 января 2019

Заголовки будут отправлены в нижнем регистре, поэтому вам нужно @Headers('my-id').


Легко отладить, введя объект с полными заголовками:

@Put('/')
public async put(@Headers() headers) {
    console.log(headers);
}
...