繁体   English   中英

JerseyClient不会为4xx和5xx响应抛出异常

[英]JerseyClient not throwing exception for 4xx and 5xx response

我有一个jersey客户端,它调用返回类型为javax.ws.rs.core.Response的api(如所使用的接口中所定义)。

public Response getResponse(String id)

呼叫的响应状态为“服务器错误”,但客户端不会引发InternalServerException而是返回InboundJaxrsResponse。

在检查Jersey代码时,我看到正在使用的JerseyInvocation类具有检查响应类型是否为javax.ws.rs.core.Response的逻辑,然后返回InboundJaxrsResponse对象。 如何根据此处的响应状态获得适当的例外?

PS: RestEasy客户端也有类似的逻辑。

假定您使用<T> T get(Class<T> responseType)从HTTP响应正文获取整数,则如果响应状态不是2xx则可以引发的异常是WebApplicationException

您的情况,未满足API合同的第二个要求

WebApplicationException如果服务器返回的响应的响应状态代码不成功,并且指定的响应类型不是Response

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM