【发布时间】:2015-10-29 06:28:45
【问题描述】:
我正在使用 ResteasyClient 为我的另一个服务 A 创建一个 REST 客户端。比如说,服务 A 抛出异常 CustomException 并显示一条消息:Got Invalid request. 这是我使用客户端的方式:
public Response callServiceA(final String query) {
ResteasyClient client = new ResteasyClientBuilder().build();
String link = "abc.com/serviceA";
ResteasyWebTarget target = client.target(link).path("call");
Form form = new Form();
form.param("query", query);
Response response;
try {
String data =
target.request(MediaType.APPLICATION_JSON_TYPE)
.post(Entity.entity(form,
MediaType.APPLICATION_FORM_URLENCODED_TYPE),
String.class);
response = Response.ok().entity(data).build();
} catch (Exception e) {
String message = e.getMessage();
e.printStackTrace();
response = Response.serverError().entity(e.getMessage()).build();
} finally{
client.close();
}
return response;
}
但是,当我打印堆栈跟踪时,我无法找到我的自定义错误消息。我可以看到消息为 HTTP 400 Bad Request。 您能否建议我如何访问错误消息?
注意:当我使用 restClient 调用 serviceA 时,我能够收到错误消息。因此,我认为服务没有问题。
【问题讨论】:
标签: java rest exception-handling jax-rs