如何从我的安卓设备访问我的本地 REST API?
我有一个弹簧REST API在我的计算机上本地运行。我想使用这个API进行Android开发。
这是我的获取请求:
public static String sendGet(final String url) {
StringBuilder result = new StringBuilder();
HttpURLConnection urlConnection = null;
try {
String apiUrl = getAbsoluteUrl(url); // concatenate uri with base url eg: localhost:8080/ + uri
URL requestUrl = new URL(apiUrl);
urlConnection = (HttpURLConnection) requestUrl.openConnection();
urlConnection.connect(); // no connection is made
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
urlConnection.disconnect();
}
return result.toString();
}
我可以通过设备的浏览器访问我的 API。但是,当我在构建的apk中使用相同的URL来发出请求时,不会建立任何连接。
我的清单包括:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
附注:
我正在将设备连接到通过USB运行其余api的笔记本电脑。我正在使用通过调用 ipconfig 找到的 WLAN IPv4 地址。
任何正确方向的提示将不胜感激 - 谢谢!
编辑以包括chrome浏览器(在Android设备上)来自在我的笔记本电脑上运行的本地REST API的输出(返回默认访客用户信息的GET请求):