我正在尝试调试使用Unauthorized(401)响应的特定连接。在Restlet中,这会导致Respresentation.get()抛出错误。
我想要做的是获取响应正文,因为这个特殊的api会在正文中为您提供更多的错误信息。
有什么建议吗?
谢谢, 路加
答案 0 :(得分:1)
我不愿意推荐它用于生产,但当然对于调试你可以覆盖ClientResource中的handleInbound来改变抛出错误的条件。然后,Restlet将以通常的方式返回身体。
ClientResource clientResource = new ClientResource("http://your.url") {
@Override
public Representation handleInbound(Response response) {
Representation result = null;
if (response.getRequest().isSynchronous()) {
if (response.getStatus().isError()
&& !Status.CLIENT_ERROR_UNAUTHORIZED.equals(response.getStatus())) {
doError(response.getStatus());
} else {
result = (response == null) ? null : response.getEntity();
}
}
return result;
}
};
Representation response = clientResource.get();
System.out.println(response.getText());