0
私は自分のnodejプロジェクトにTypescriptを使い始めました。いくつかの外部APIにアクセスするために、node-fetchを使用してリクエストを行います。Node-fetchを使用している場合、リクエストボディタイプをRequestInitまたはBodyInitと互換性を持たせるにはどうすればよいですか?
エラー:
Error:(176, 28) TS2345:Argument of type '{ headers: Headers; method: string; body: MyClass; }' is not assignable to parameter of type 'RequestInit'.
Types of property 'body' are incompatible.
Type 'MyClass' is not assignable to type 'BodyInit'.
Type 'MyClass' is not assignable to type 'ReadableStream'.
Property 'readable' is missing in type 'MyClass'.
のMyClass:
class MyClass {
configId: string;
adapterType: string;
address: string;
constructor(configId: string, adapterType: string, address: string) {
this.configId = configId;
this.adapterType = adapterType;
this.address = address;
}
// some methods
}
呼び出し:
PUT要求を設定している間、エラーが与えられた身体がRequestInit
を型に代入ではないことを言って、ポップアップ表示します
let body = new MyClass("a", "b", "c")
let url = config.url + "/dialog/" + dialogId
let headers = new Headers()
// Append several headers
let params = {
headers: headers,
method: "PUT",
body: body
}
return new Promise((resolve, reject) => {
Fetch(url, params) // <-- error is shown for params variable
.then(res => {
// Do stuff
resolve(/*somevalue*/)
})
}
ボディオブジェクトをどのようにして互換にする必要がありますか?