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.
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 });
私はこのメソッドをヘッダーの読み取りパラメータでfalseとするだけだと思いますreq.headersの例
@Get()
findHeaderexample(@Res() res,@Req req) {
return req.headers;
}