我使用HttpOK库与Java。我写了以下代码:
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
...
public class RunFeed implements Runnable {
private final OkHttpClient client = new OkHttpClient();
...
private Response executeRequest(Request request){
try {
final Call call = client.newCall(request);
Response response = call.execute();
if (!response.isSuccessful()) {
throw new IOException("Unexpected code " + response);
}
return response;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
我编写这种脏代码的原因是试图捕获抛出在call.execute();行的异常。
发生的是,当程序达到这一行,程序退出(以某种方式成功),没有达到返回响应语句,或没有任何异常抛出,没有进入捕捉块或达到最后,是的我知道-"肮脏"返回空语句...
客户端和请求对象不是null,在我看来是有效的。
另一点是,我是在一个可运行的实现类中运行代码的。
顺便说一下,当调试器到达call.execute();行,我计算我得到的表达式:
响应{协议=超文本传输协议/1.1,代码=200,消息=OK, url=超文本传输协议://myurl}
所以,似乎一切都好。但是就在那之后,当我按下“跳过”按钮时,它只是完成了执行,而不是前进到如果(!response.is成功())...
请告知。
您可以在另一个线程而不是主线程上运行executeRequest()
方法,并调用。execute()
在主线程上运行。因此,在调试调用时。execute()
有足够的时间准备响应,但当应用程序正在运行时,它没有这样的机会,executeRequest()
继续在另一个线程上执行。
我建议考虑使用call.enqueue()
而不是call.execute()
。
我们正在开发一个plone界面来使用来自Web应用程序的REST API服务。用户登录plone并能够访问REST API 问题1)我需要参考哪些Plone编程文档进行设计 查询:2)我需要参考学习的不同技术有哪些 请参阅随附的建议解决方案框图。 .
我有一个简单的facelets页面: Foobar bean如下所示: -将有效的输入值推送到模型(如果组件连接到bean属性)。 -执行操作和操作侦听器(如果组件是操作)。 所以在这里,应该执行myCommandButton,不是吗?而组件的执行意味着要执行它的操作?
要使用请求调度器,servlet 可调用 RequestDispatcher 接口的include 或 forward 方法。这些方法的参数既可以是javax.servlet.Servlet 接口的 service 方法传来的请求和响应对象实例,也可以是本规范的2.3版本中介绍的请求和响应包装器类的子类对象实例。对于后者,包装器实例必须包装容器传递到 service 方法中的请求和响应对象。 容器
问题内容: 我有以下指令: 这是我如何调用它: 首次初始化指令时,则为空。稍后,通过ajax对其进行检索,并填充其值。 问题是,我怎么看待更新的价值?当我从链接方法执行此操作时: 初始化指令时,仅调用一次,然后该值为空。通过ajax(来自)检索值时,不会再次调用此watch函数。但是,在我要显示的页面的其他部分,该值在获取ajax请求时会更新。因此,我认为问题与在ajax请求之后执行无关。 编辑:
问题内容: 我想将日志记录添加到Servlet中,因此我创建了Filter,该过滤器应显示请求并转到Servlet。但不幸的是,我遇到了例外: 因此,要解决此问题,我发现了Wrapper的解决方案,但它不起作用。我还能在代码中使用/更改什么?有任何想法吗? [MyHttpServletRequestWrapper] [MyFilter] 问题答案: 看起来restlet框架已经调用了Request
我目前正在努力从API获取一些数据,但在一些请求中遇到了问题。 当前调用和其他一些类似的调用似乎不起作用,而其他调用则起作用(除了这些调用不使用“payload”参数)。我在文档中使用了相同的示例,因此不确定这些示例为什么不起作用。 回报 有人有主意吗?谢谢。