web-dev-qa-db-ja.com

NestJSにヘッダーHttpRequestを追加する

NestJSでHttpリクエストを作成しようとしています

angularからインスピレーションを得ているので、ヘッダーを追加します

import { Injectable, HttpService} from '@nestjs/common';
...
const headersRequest = new Headers();
headersRequest.append('Content-Type', 'application/json');
headersRequest.append('Authorization', `Basic ${encodeToken}`);

次に、APIを呼び出します

const result = await this.httpService.post(apiUrl, newDevice, { headers: headersRequest });

エラーが出る

ReferenceError: Headers is not defined

Headersをインポートするように指定すると、VScodeでこのメッセージが警告されます

Only a void function can be called with the 'new' keyword.
4
infodev

NestJSは内部で axios を使用してhttpリクエストを作成します。リクエストの設定については、ドキュメントをご覧ください。

https://github.com/axios/axios#request-config

ヘッダーのインターフェースがないように見えますが、単純なJS辞書オブジェクトを渡してください:

const headersRequest = {
    'Content-Type': 'application/json', // afaik this one is not needed
    'Authorization': `Basic ${encodeToken}`,
};

const result = await this.httpService.post(apiUrl, newDevice, { headers: headersRequest });
9
Martin Adámek

私はこのメソッドをヘッダーの読み取りパラメータでfalseとするだけだと思いますreq.headersの例

 @Get()
    findHeaderexample(@Res() res,@Req req) {
        return req.headers;
}
0
Riadh farhati