Я пытаюсь выполнить вызов API fetch () из приложения с машинописным текстом на основе приведенной ниже спецификации:
- Метод: POST
- URL-адрес запроса: https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs?token=AuthenticationToken
- (Заголовок) Content-Disposition: filename * = UTF-8''file.txt
- (Заголовок) Memsource: {"targetLangs": ["de", "fr"]}
- (Заголовок) Content-Type: application / octet-stream
- Ответ: UID задания (например, dOYgeXzAdAbj4xFjuEVZP2)
Я получаю следующую ошибку при попытке использовать значение вложенного объекта / массива для заголовков в вызове node-fetch.
(свойство) RequestInit.headers ?: HeadersInit Type '{' Content-Type ': string; 'Content-Disposition': строка; 'Memsource': {'targetLangs': строка []; }; } 'не может быть назначен типу' HeadersInit '. Тип '{' Content-Type ': строка; 'Content-Disposition': строка; 'Memsource': {'targetLangs': строка []; }; } 'отсутствуют следующие свойства из типа' Headers ': forEach, append, delete, get и еще 7.ts (2322) index.d.ts (45, 5): ожидаемый тип происходит из свойства' headers ', которое здесь объявлен в типе RequestInit
Ниже приведена строка кода, в которой возникла проблема.
let project: Promise<Response> = await fetch(apiURL, {
method: 'POST',
headers: {
'Content-Disposition': 'd:/_export/en_US.json',
'Memsource': { 'targetLangs': ['fr_fr', 'es_es'] },
},
}).then(res => res.json())
.then(json => json)
.catch(err => console.log(err));
Что мне делать, чтобы исправить проблему? Разве мне нельзя использовать эту нотацию?