我正在使用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();
有没有办法知道响应实体的具体类型?
答案 0 :(得分:0)
您不会直接从实体获取Java对象,其内容更像是由其mime类型指定的内容,您可以使用entity.getContentType().getValue()
获取(只要指定了内容类型,否则您显然会得到一个NullPointerException)。
内容类型是一个字符串,如" text / plain"或" text / html"。例如,如果你得到一个" application / json"内容类型,那么你需要使用"解串器" (如Gson或Jackson)和entity.getInputStream()
作为该反序列化器的输入。