java - 如何从 Future 中获取价值在 Java REST API 中
问题描述
我的 Rest Client 代码的一部分:
Form form = new Form();
form.param("username", "abc").param("password", "123");
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://abc/abc.exe/api/v1/auth");
Future<OTCSTicket> ticket = target.request(MediaType.APPLICATION_FORM_URLENCODED)
.accept(MediaType.APPLICATION_JSON)
.buildPost(Entity.form(form)).submit(OTCSTicket.class);
try {
System.out.println(ticket.get());
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
如何获取 OTCTicket 对象内的值?
或者还有其他方法可以接受来自其余 Web 服务的 json 响应并将其映射到我的 OTCTicket 类?
我是新手..:)
解决方案
用于ticket.get()
获取值。这是一个阻塞调用。
您还可以ticket.get(timeout, unit)
用于在超时单位后超时的非阻塞调用。
推荐阅读
- ios - Swift 4.2:如何在 ViewController 中嵌入 UIPageControl(没有 Storyboard)?
- testing - 在功能自动化中处理输入和输出?
- java - java类属性的设置值范围
- android - 黑屏后我的应用程序崩溃
- excel - Excel计算跨越一年的两个日期之间每个月的天数
- delphi - 升级后的自定义组件无法编译
- android - 返回导航控制器的状态(Android导航组件)
- javascript - JavaScript 将字符串转换为 HTML 元素
- angular - 对象不是函数。network.ts 中的错误
- json - 使用 TypeScript 确定泛型类型的基础类型