Jersey2 - Многозначные заголовки ответа не разделяются запятой - PullRequest
1 голос
/ 25 марта 2020

Для службы REST я добавляю несколько значений в заголовок, и клиент ожидает, что значения будут разделены запятой в заголовке ответа:

test-header: value1, value2

Я реализовал это в ContainerResponseFilter как это:

public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
        String headerOfInterest = "test-header";
        List<String> header = responseContext.getStringHeaders().get(headerOfInterest);
        if (header == null) {
            responseContext.getHeaders().addAll(headerOfInterest, "value1", "value2");
        }
    }

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

...
test-header: value1
test-header: value2
...

Я пытался использовать responseContext.getHeaders().add() дважды и добавлять каждое значение, но каким бы образом я ни добавил значения, они в конечном итоге будут отображаться в ответе два раза, а не через запятую.

С это сообщение SO , мне кажется, значение с разделением запятыми является стандарт. Так как мне добиться этого на Джерси?

Версия на Джерси: 2.29 Версия на Tomcat: 9.5

...