GetEntity VS ReadEntity在响应(Javax.ws.rs)

Crosk酷:

我写一个客户消耗RestService和我要读的实体出响应的和我完全混淆该方法出了两(getEntityVS readEntity应使用)。

我必须找回实体每当我得到一个WebApplicationException。

所以,我的代码或多或少的模样。

catch(WebApplicationException ex) {
// Do something with ex.getResponse
}

从,不管我已经测试,

ex.getResponse().hasEntity() ---> true

ex.getResponse().getEntity() == null ---> true

我不知道它是如何工作的,但如果第一个为真,那么如何第二个语句可能是真的。

出人意料的是,readEntity工作对我很好,我能够从响应中读取实体的。

但是,通过readEntity阅读实体后,

此调用提供虚假。

 ex.getResponse().getEntity() == null --> false

有人可以帮助我了解什么是真正的幕后发生的事情?

Cecilya:

这种行为被记录了在API

public abstract <T> T readEntity(Class<T> entityType)

读取消息实体输入流作为使用化MessageBodyReader支持映射消息实体流到所请求的类型的指定的Java类型的实例。

[...]

从该方法返回的消息实例将通过getEntity被缓存后续检索()

第一个电话ex.getResponse().getEntity()是空的,因为实体尚未阅读呢。通话后readEntity(),通过已分析解析实体将被退回getEntity()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

javax.ws.rs.core.Response.readEntity()陷入无限循环

javax.ws.rs.core.Response.readEntity(Pet.class) 导致异常 MessageBodyProviderNotFoundException

HttpServletResponse对javax.ws.rs.core.Response

重用javax.ws.rs.client.Client

jaxrs-api VS jsr311-api VS javax.ws.rs-api VS球衣核心VS jaxrs-ri

javax.ws.rs.core.Cookie与javax.ws.rs.core.NewCookie的区别是什么?

如何在javax.ws.rs.core.Response中设置响应主体

spark应用程序抛出了java.lang.NoSuchMethodError:javax.ws.rs.core.Response.readEntity(Ljava / lang / Class;)Ljava / lang / Object

javax.ws.rs.core响应与Spring Boot批注结合返回json响应中的所有内容吗?

javax.ws.rs.Produces 在 Spring 中等效

球衣+ Spark javax.ws.rs.core.UriBuilder.uri

javax.ws.rs.core.response实体不招待@JsonProperty

如何获取javax.ws.rs.core.UriInfo的实例

从 javax.ws.rs.core.Feature 访问 HttpServletContext 或会话

javax.ws.rs.container.ResourceInfo.getResourceClass()的用途是什么?

将javax.ws.rs实体序列化为json

java.lang.NoClassDefFoundError:javax / ws / rs / core / Configuration

在jdk中找不到javax.ws.rs包

如何使用javax.ws.rs执行输入验证?

无法解析类型javax.ws.rs.core.MediaType

等价于Micronaut中的javax.ws.rs NameBinding?

获取包 javax.ws.rs 不存在错误

如何解析javax.ws.rs.core.Response

javax.ws.rs:方法实际返回的内容

具有javax.ws.rs.core.Application的MultiPartFeature

JAX-RS response.getEntity在发布后返回null

什么类替代了javax Web服务API(javax.ws.rs-api)中被封存的'ClientFactory'?

球衣休息服务,显示异常javax.ws.rs.WebApplicationException:javax.xml.bind.MarshalException

与JAX-RS SSE混淆:在javax.ws.rs.sse.SseEventSink类中找不到合适的构造函数