Мои заголовки неправильно передаются от клиента к серверу при использовании JerseyTest
.Клиент JerseyTest с MessageBodyWriter не передает заголовки на мою серверную часть MessageBodyReader
Оба сервера и клиент имеют MessageBodyWriter
и MessageBodyReader
, сконфигурированные соответственно с JerseyTest::configure
и JerseyTest::configureClient
.
MessageBodyWriter
Мой добавить некоторые пользовательские заголовки для запроса:
@Override
public void writeTo(MyPojo myPojo, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException {
httpHeaders.put("X-Custom-Header", singletonList(myPojo.header()));
}
MessageBodyReader
но когда поражен сервером, он содержит только стандартные заголовки.
Любые подсказки о том, что мне не хватает?
Вы [зарегистрировали автора с клиентом] (https://gist.github.com/psamsotha/3c44023743812377fcc5#file-headerstest-java-L112). Он не будет отображаться на стороне клиента с помощью аннотации @ @ Provider, как это делается на сервере. –
На самом деле, снова прочитав свой вопрос, похоже, что вы переопределили configureClient. Используете ли вы клиент, предоставленный методом «target()», или вы создаете собственный «Клиент»? В любом случае, приведенная выше ссылка имеет рабочий пример –
thx для вашей помощи , но с версией версии 2.22.1 Джерси ваш сбой неудачен 'Ожидаемый: заголовок: объект' ' Фактическое: null: entity' –