「react-native-ssl-pinning」を使用して、iOS でリクエストを固定しています。POST 要求は成功しますが、ヘッダーがサーバーに到達しないため、GET 要求は失敗します。(認証トークンが見つからないとサーバーが訴えます。)しかし、同じコードは Android でも問題なく動作します。
Android の GET および POST リクエストでは、同じコード/モジュールが正常に動作します。
function fetch(URL、メソッド、データ) {
let fullURL = ApiEndpoint.BASE_URL + URL
let headers = {
'Content-Type': "application/json",
Accept: "application/json",
'unique-id': '<sample-id>',
'userId': '<sample>',
'username': getUsername(),
'jwt-token': getAuthToken(),
}
let promise = new Promise((resolve, reject) => {
let fetchParams = {
method: method,
timeoutInterval: 20000,
headers: headers,
}
if (method == Method.POST) {
fetchParams.body = JSON.stringify(data)
}
fetch(fullURL, fetchParams).then(response => {
let responseBody = JSON.parse(response.bodyString)
resolve({ ...response, data: responseBody })
})
.catch(err => {
let response = { ...err }
reject(response)
})
})
return (() => promise)
}
GET 要求は、ヘッダーをサーバーに送信する必要があります。