Я пытаюсь создать WebTartget
с некоторыми параметрами запроса. У меня есть метод, который имеет Map<String, ?> queryParams
в качестве параметра. Внутри цикла for набора ключей карты я пытаюсь добавить параметры в WebTarget
.
WebTarget webTarget = createTarget(target);
for (String key : queryParams.keySet()) {
webTarget = webTarget.queryParam(key, queryParams.get(key));
}
return webTarget.request(MediaType.APPLICATION_JSON)
.header(HttpHeaders.AUTHORIZATION, "Bearer ".concat(this.getKeycloakAccessToken()))
.get(resultType);
Проблема в том, что декомпилированный файл .class выглядит так:
for (String key : queryParams.keySet()) {
webTarget = webTarget.queryParam(key, new Object[]{queryParams.get(key)});
}
Если я оцениваю код в Intellij, мой запрос содержит это:
&deviceNumbers=2&deviceNumbers=3
Но если я выполню код, мой запрос содержит это вместо:
&deviceNumbers=%5BLjava.lang.String%3B%404b887c24
В этом примере массив String передается внутри карты queryParam.