ParamConverter на основе значения заголовка HTTP - PullRequest
0 голосов
/ 06 декабря 2018

Я создаю приложение на Джерси с использованием версии 2.27.

Один из моих ресурсов использует @QueryParam для чтения значения параметра запроса.

Я создаю ParamConverter и ParamConverterProvider так, чтобыЯ могу указать тип параметра:

@GET
public MyObject getObject(@QueryParam("myvalue") MyParamObject param) {

}

Моя проблема заключается в том, что синтаксический анализ параметра запроса зависит от значения заголовка HTTP.

Как получить доступ к заголовкам HTTPзапроса внутри ParamConverter?

Я пытался внедрить ContainerRequestContext внутри ParamConverterProvider, но это приводит к следующей ошибке:

java.lang.IllegalStateException: не внутри запросасфера.

1 Ответ

0 голосов
/ 06 декабря 2018

Мне удалось решить эту проблему, введя ServiceLocator внутрь ParamConverterProvider и передать его ParamConverter.ParamConverter может затем извлечь ContainerRequestContext в методе fromString():

public Message fromString(final String value) {
    final ContainerRequestContext requestContext = injector.getService(ContainerRequestContext.class);
}
...