2013-08-21 4 views
0

Я написал довольно стандартную многопользовательскую загрузку загрузки файла. Когда я использовал curl для проверки, я продолжал получать 400 плохих запросов. Оказалось, что это разные причины, но у меня всегда был такой же 400 плохих запросов. Например, моя временная директория моего сервера приложений не существовала. Я ожидал бы, что в журналах будет выбрано исключение более низкого уровня, но я ничего не видел. Я не слишком знаком с Джерси и ищу любые советы о том, как я могу справиться с этим, чтобы по-прежнему возвращать 400/плохой запрос, но как-то регистрировать дополнительную информацию. Есть идеи? Я использую jersey 1.xjersey обработчик исключений - как получить больше информации для плохого запроса

ответ

1

Если ошибка возникает в вашем собственном методе, вы можете использовать Response в качестве возвращаемого типа для своих методов. Затем вы можете указать как код состояния, так и тело возвращенного сообщения.

throw new WebApplicationException(Response.status(Status.BAD_REQUEST).entity("<your message here>").build()); 

В случае возникновения ошибки в какой-либо другой структуре исключение должно регистрироваться в stderr. В зависимости от того, какой веб-сервер вы используете, вы можете настроить его, чтобы отправлять исключения как тела ответа.

+0

Можете ли вы описать еще то, что вы имеете в виду с ответом? Вы имеете в виду ответ от контроллера/метода? Мне было любопытно, что внутренний класс бросает этот 400-й запрос, потому что я не в своем методе. Когда у меня возникла эта проблема, и я подключил свой отладчик, я даже не ввел его в свой метод, он казался внутренним кодом Джерси, и именно там произошло исключение. – Barry

Смежные вопросы