0
APIミドルウェアからのリクエストをインターセプトして処理するスキームを作成しようとしていますが、何らかの理由で私のJSONレスポンスを正しく処理できませんAPIエンドポイント。次のスニペットは、JSONでフォーマットされたサーバー応答でうまく動作しますが、ユーザーに無効なトークンがあると、json()の約束にエラーコールバックを提供していても処理できない単純な不正アクセス応答が返されます。不正アクセス応答メッセージは、以下の方式では失われます。Body.json()で非JSON応答を処理する約束
const callAPI =() => { fetch('http://127.0.0.1:5000/auth/', {
method: 'GET',
headers: {
'credentials': 'include',
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Basic bXlKaGJHY2lPaUpJVXpJMU5pSXNJbVY0Y0NJNk1UUTVPRE15TVRNeU5pd2lhV0YwSWpveE5EazRNak0wT1RJMmZRLmV5SnBaQ0k2TVgwLllFdWdKNF9YM0NlWlcyR2l0SGtOZGdTNkpsRDhyRE9vZ2lkNGVvaVhiMEU6'
}
});
};
return callAPI().then(res => {
return res.json().then(responseJSON => {
if(responseJSON.status === 200){
return dispatch({
type: type[1],
data: responseJSON,
message: success
});
} else if(responseJSON.status === 401) {
return dispatch({
type: type[2],
message: responseJSON.message
});
}
return Promise.resolve(json);
}, (err) => {
console.log(err.toString(), ' an error occured');
});
}, err => {
console.log('An error occured. Please try again.');
});