java - Android HTTP 获取 api
问题描述
我正在尝试从我的 api 获取数据。在邮递员中,请求有效,这是响应:
{
"ips_Beacons_BeaconID": 14,
"ips_Beacons_BeaconDescription": "b2",
"ips_Beacons_BeaconLat": 12.3123,
"ips_Beacons_BeaconLon": 32.123,
"ips_Beacons_BeaconImgX": 45,
"ips_Beacons_BeaconImgY": 123
}
我试过了,我得到了 Okhttp 的响应。但是由于某种原因它停止了工作。
虽然我得到了响应,但我希望将它的 json 字符串序列化并实例化对象。但我无法从回调中的 onSuccess 方法中得到响应。这就是我所做的工作,但不再工作了:
OkHttpClient client = new OkHttpClient();
String url ="http://192.168.1.95:44374/api/beacons";
Request request = new Request.Builder().url(url).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) { e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()){
String myResponse = response.body().string();
listBeacons = objectMapper.readValue(myResponse, new TypeReference<List<Beacon>>(){});
Log.i(TAG, myResponse);
}
}
});
我需要 listBeacons 列表来执行此活动之外的其他操作。
解决方案
推荐阅读
- docker - Docker windows 和 linux
- javascript - 使用 Package.json 在 $HOME/Sites 文件夹中创建一个文件夹
- java - 如何将 ipv6 字符串地址转换为 16 字节?
- sql - “Hebrew_CI_AS”和“SQL_Latin1_General_CP1_CI_AS”之间的排序规则冲突
- git - 有没有办法在无法推送到上游的情况下分叉一个 git 存储库?
- swift - 为什么我不能更改这个 session.dataTask() 中的实例变量?
- crystal-reports - Crystal Report - 共享变量在报表页脚中添加最后一行数据两次
- testing - Flutter 测试 - 验证资产是否存在
- mysql - 从访客或用户中选择 ipv6 的单列,以不为空的为准
- python - 将具有多个自变量和多个参数的函数传递给 scipy 优化最小化