Как глобально установить заголовки моего клиента JEE REST? - PullRequest
0 голосов
/ 14 мая 2019

Есть ли способ глобально установить мои REST-заголовки?Я попытался объединить некоторые трюки JAX-RS, но без эффектов.

Все мои службы REST имеют такие аннотации:

@Produces(MediaType.APPLICATION_JSON + ";charset=utf-8")

и

@Consumes(MediaType.APPLICATION_JSON + ";charset=utf-8")

Все, что я хочу вконец должен заканчиваться заголовками:

Accept:[application/json]
Content-Type:[application/json;charset=utf-8]

... без касания классов REST, только по конфигурации.Есть ли простой способ добиться этого?

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Хорошо, никакой помощи извне, поэтому я сделал это:)

Я использовал HttpServletResponseWrapper из javax.servlet.http для установки заголовков.

Я также использовал FilterChain из javax.servlet, чтобы быть уверенным, что не позволю кому-либо еще думать:)

0 голосов
/ 14 мая 2019

Да, вы можете легко это сделать.Создайте класс BaseResource и расширяйте его везде, где вы создаете классы для своей конечной точки.

public abstract BaseResource {
    @HeaderParam("username")
    private String username;

    @HeaderParam("user-ip")
    private String userIp;
    public String getUserAccount () {
        return userAccount;
    }

    public final String getUserIP() {
        return userIp;
    }
}

с помощью этих методов вы можете легко получить доступ к значениям заголовка.

...