web-dev-qa-db-ja.com

反応ネイティブ内でlocalhost APIを呼び出す(Androidデバイス:ローカル経由で接続)

Node.jsを使用して簡単なGET APIを作成し、axios/fetchを使用して私のexpo-reactネイティブプロジェクト内でそれを利用しようとしました。

GET APIは、ユーザーが送信ボタンをクリックするたびに呼び出されます。

送信-> http:// localhost:port/api

ただし、Androidデバイスでデータケーブルを介してデバイスを接続し、expoで「ローカル」接続タイプを選択して機能をテストしようとすると、APIコールは常に例外に該当します。

例外をログに記録しようとすると、例外が空で表示されます。

私はAPIを再確認しましたが、postmanを介してテストした場合は問題なく動作しました。

LocalhostのURLをmy-Ip( http:// IP:port/api )と127.0.0.1/127.0.2.2( http://127.0.0.1: port/apihttp://127.0.2.2:port/api )ですが、API呼び出しが成功するようには見えません。

LocalhostのURLをFacebookのネットワークサンプルAPIに置き換えたところ、アプリケーションは問題なく動作しました。そのため、API呼び出しメソッドに問題はありません。

また、Windowsインバウンドファイアウォールリクエストにポートを追加しようとしましたが、それも機能しませんでした。

誰かがこれを手伝ってくれる?

5
user9571141

ローカルIPアドレスからAPIを呼び出す必要があります。ローカルIPを取得するには、次のようにします。

Ubuntu 16.04を使用している場合:

ifconfig | grep 192

Ubuntu 18.04を使用している場合:

ip -c a | grep 192

ローカルIPアドレスはおそらく192.168.0.XXX

0
vmf91