У меня угловой интерфейс, использующий машинопись, и я пытаюсь сделать http-запрос к API-шлюзу AWS.Теперь проблема в том, что мне нужно написать следующий код javascript в виде машинописного кода и отправить запрос http, но я не знаю, как.
Для запроса к шлюзу API AWS требуется AWS Cognito jwtToken (в данном случаеего "accessToken").Мне также нужно передать «тип», который является именем функции, которая будет выполнена в API (в данном случае «POST»).Мне также нужно передать строку, которая выбирает, какие данные я получаю.
Auth.currentSession().then(tok => {
const accessToken = tok.getIdToken().getJwtToken();
console.log('from floorview: ' + accessToken);
function requestItem(source) {
$.ajax({
type: 'POST',
url: 'https://XXXXXXXXXX.execute-api.eu-central-1.amazonaws.com/prop/dashboard',
headers: {
Authorization: accessToken
},
data: JSON.stringify({
Source: source.toString(),
tableName: 'h16b-testset',
operation: 'read'
}),
dataType: 'json',
contentType: 'application/json',
success: completeRequest,
error: function ajaxError(jqXHR, textStatus, errorThrown) {
console.error('Error requesting ride: ', textStatus, ', Details: ', errorThrown);
console.error('Response: ', jqXHR.responseText);
alert('An error occured when requesting your unicorn:\n' + jqXHR.responseText);
}
}).then(r => console.log(r));
}
requestItem(996);
function completeRequest(result) {
console.log('Response received from API: ', result);
}
});
}
Теперь моя проблема в том, как мне написать этот код javascript в виде машинописного кода при использовании угловых HTTPClient.Если есть другой метод, пожалуйста, скажите мне.Я всегда получаю 401 или 403, когда пытаюсь запустить этот код, используя HTTPClient.
Auth.currentSession().then(tok => {
const accessToken = tok.getAccessToken();
const jwt = accessToken.getJwtToken();
this.authKey = jwt;
const params = new HttpParams().set('Source', '996');
params.append('tableName', 'h16b-testset');
params.append('operation', 'read');
const headers = new HttpHeaders().set('Authorization', this.authKey);
headers.append('content-type', 'application/json');
this.http.request(
'POST',
'https://XXXXXXXX.execute-api.eu-central-1.amazonaws.com/prop/dashboard',
{
headers,
responseType: 'json'
}
).subscribe(
res => {
console.log('hallo' + res);
},
err => {
console.log('error occured with httpclient: ' + err.message);
}
);
});