はじめに
Cordova iOS アプリで axios を使っての API Request が Network Error となる場合の回避策。
TL;DR
- 間隔を空けて最大n回までリトライ、で回避可能
- Ionic でも似たような Issue あり(2019/07 と少し古い)
- 本対応は silkimen/cordova-plugin-advanced-http を使う(のはず。未検証)
Cordova iOS アプリで axios を使っての API Request が Network Error となる場合の回避策。
NativeScript の API Client のサンプル。
axios/axios と NativeScript/nativescript-background-http とを使って実装。
あくまでも一例なので、各自の環境に合わせて適宜修正。
※試してないが 、今からなら klippa-app/nativescript-http を使うのが良いかもしれない。(最近(2020/03/22 以降) リリースされているので、API Client 作った時には無かった)
config
を与える場合は、それぞれの仕様に合わせて設定axios でリクエストした際に unable to verify the first certificate
となる場合の対応方法。
自己生成証明書(オレオレ証明書)を利用している環境などで発生すると思われる。ちゃんとした証明書であれば問題ないはずなので、あくまでも暫定的な対応方法。
httpsAgent
に rejectUnauthorized: true
で生成したエージェントを指定Node.js, express, axios で JWT(JSON Web Tokens) を利用する方法を整理した。
ざっくり以下の流れ。
sign()
で JWT 発行config
に { headers: { Authorization: `Bearer ${token}` } }
で設定verify()
で JWT 検証app.use()
で JWT 検証処理を定義axios で、添付ファイルありのリクエストを送信する方法を整理した。
【React】axiosを使用してmultipart/form-data形式の通信をする - モノクロタイム を参考にさせてもらった。
FormData
の append
でデータを構築transformRequest
でも対応できるかも?(未検証)FormData
はブラウザのみなので、CLI ツールなどは別フォーマットを使う必要がありそう