Заголовки запроса в Nest
Бывает, что метод отдаёт страницу по пути, а служебную строку, которую клиент прислал вместе с запросом, прочитать нельзя. Эта строка не входит в адрес, и метод о ней ничего не знает.
Заголовки запроса едут отдельно от адреса
и от тела. Среди них бывает язык, на котором
клиент просит страницу. Нужный заголовок
читают декоратором Headers: имя
в декораторе - это имя заголовка, а метод
получает присланную строку.
Покажем на примере списка постов. Прочитаем язык, на котором клиент просит страницу:
import { Controller, Get, Headers } from '@nestjs/common';
@Controller()
export class PostController {
@Get('posts')
getPosts(@Headers('accept-language') language: string): string {
return language;
}
}
Метод возвращает ту строку, которую клиент передал в заголовке. Подключим класс в корневом модуле:
import { Module } from '@nestjs/common';
import { PostController } from './post.controller.js';
@Module({
controllers: [PostController],
})
export class AppModule {}
Прочитайте язык клиента из заголовка
запроса к работникам в контроллере
WorkerController и подключите его
к корневому модулю.