У меня есть интерфейс REST интерфейса с Джерси. Фактически я поддерживаю только тип контента только application/json
для всех входящих запросов. Именно поэтому я определил мое сообщение читателя тела и писатель, какКак правильно обрабатывать запросы с неподдерживаемым типом контента?
@Provider
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class MarshallerProvider
implements MessageBodyReader<Object>, MessageBodyWriter<Object>
{
}
Теперь я написал тест, где я пытаюсь получить документ через GET и ожидаемый тип application/xml
контента. Джерси отвечает на этот запрос MessageBodyProviderNotFoundException
.
Итак, каков был бы лучший способ правильно обрабатывать такие неподдерживаемые запросы? Должен ли я писать блок отображения исключений? Поскольку это внутреннее исключение, мне не нравится этот подход?
Решение должно позволить мне вернуть HTTP 415 (Неподдерживаемый тип носителя).
Причиной моей проблемы является '@ Consumes' аннотации на' MarshallerProvider'. Поэтому Джерси не может найти поставщика сообщений. Если я удалю эту аннотацию, я получаю ошибку 406. Каков правильный код ошибки для отправки запроса с неподдерживаемым типом контента. Итак, я дам вам верх, исправлю свой вопрос и дам правильный ответ на исправленный вопрос. – Oliver