我正在尝试调试以未经授权(401)响应的特定连接。在 Restlet 中,这会导致 Respresentation.get() 抛出错误。
我想要做的是获取响应正文,因为这个特定的 api 在正文中为您提供了更多的错误信息。
有什么建议么?
谢谢,卢克
我正在尝试调试以未经授权(401)响应的特定连接。在 Restlet 中,这会导致 Respresentation.get() 抛出错误。
我想要做的是获取响应正文,因为这个特定的 api 在正文中为您提供了更多的错误信息。
有什么建议么?
谢谢,卢克
我不愿意将它推荐用于生产,但肯定是为了调试,您可以覆盖 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());