Джерси не показывает ответ в случае ошибки - PullRequest
3 голосов
/ 28 июня 2011

У меня следующая проблема ...

Я тестирую сервис, который возвращает HTTP-ответы на запросы GET.

Моя проблема в том, что я хотел бы просмотреть ответ, даже если это был HTTP 500/404 или любой другой ответ.

Я бы хотел посмотреть это.Но я не могу, потому что это вызывает исключение, и это все.

Есть ли способ просмотреть ответ Джерси, даже если это был ответ об ошибке?

Мой код выглядит следующим образом:

webResource = client.resource(url);

response = webResource.queryParams(alertParams)
        .header("x-token", token).get(String.class);

Поэтому, когда get получает ответ об ошибке от службы, я не могу увидеть, что, хотя ответ выглядит примерно так:

{"errCode": "ERR002", "errMsg": "", "techErrMsg": "LoginFailureGeneric"}

Это 400 неверных запросов.

Большое спасибо за помощь !!

1 Ответ

7 голосов
/ 28 июня 2011

Здесь вам нужно потратить некоторое время с документами ... WebRequest # get (Class) сгенерирует исключение при получении статуса ошибки HTTP, если вы пытаетесь проанализировать ответ как все, кроме ClientResponse .

Так что все, что вам нужно сделать, это изменить .get(String.class) -> .get(ClientResponse.class), и вы можете извлечь саму сущность (и статус, и все остальное) из объекта ClientResponse без исключений.

...