【发布时间】:2014-05-02 05:55:26
【问题描述】:
我正在使用 4.3.3 版的 Apache HttpClient API。 当我执行以下语句时,它返回 HttpResponse 实例。
HttpResonse response = httpClient.execute(httpRequest);
执行以下语句获取响应实体。
HttpEntity entity = response.getEntity();
这里我想知道返回的是哪种类型的实体对象。例如:StringEntity、FileEntity、InputStreamEntity、...
我尝试了以下方法,但它返回了 ResponseEntityWrapper
String className = entity.getClass().getName();
有没有办法知道响应实体的具体类型?
【问题讨论】:
-
首先,让我们相信您确实需要知道响应实体对象的类型。
-
@SotiriosDelimanolis 我正在为 REST 调用执行编写一个低级层。如果返回的响应正文是 StringEntity,我打算返回 String。如果是 FileEntity,那么我想返回 Stream。如果我为所有情况返回 InputStream,那么调用者必须为每个用例的解析流编写代码。如果我从低层解析并返回特定的响应,它将减少高层的代码冗余。
标签: java apache http httpclient apache-httpclient-4.x