Я написал довольно стандартный сервис для загрузки файлов из нескольких частей. Когда я использовал curl для тестирования, я продолжал получать 400 неверных запросов. Причин оказалось много, но я всегда получал один и тот же 400 bad request. Например, мой временный каталог моего сервера приложений не существовал. Я ожидал, что в журналах будет выдано какое-то исключение более низкого уровня, но я ничего не видел. Я не слишком хорошо знаком с Джерси и ищу какие-либо советы о том, как я могу справиться с этим, чтобы по-прежнему возвращать 400/плохой запрос, но каким-то образом регистрировать дополнительную информацию. Любые идеи? Я использую майку 1.x
Обработчик исключений джерси - как получить больше информации о плохом запросе
Ответы (1)
Если ошибка возникает в вашем собственном методе, вы можете использовать Response в качестве типа возвращаемого значения для ваших методов. Затем вы можете указать как код состояния, так и возвращаемое тело сообщения.
throw new WebApplicationException(Response.status(Status.BAD_REQUEST).entity("<your message here>").build());
Если ошибка возникает в какой-то другой среде, исключение должно быть зарегистрировано в stderr. В зависимости от того, какой веб-сервер вы используете, вы можете настроить его для отправки исключений в виде тела ответа.
person
Martin Fahl
schedule
22.08.2013
Можете ли вы подробнее описать, что вы имеете в виду под ответом? Вы имеете в виду ответ от контроллера/метода? Мне было любопытно, какой внутренний класс выдает этот 400 неверный запрос, потому что я не в своем методе. Когда у меня возникла эта проблема, и я подключил свой отладчик, я даже не включил его в свой метод, казалось, что это внутренний код Джерси, и именно здесь произошло исключение.
- person Barry; 22.08.2013