У меня есть список параметров http-запроса в формате NamveValuePair
и WebTarget
( javax / ws / rs / client / WebTarget. java). Затем я просто присоединяю эти параметры запроса к WebTarget
один за другим, используя обязательный подход.
Я знаю, что легко применить поток, когда все элементы относятся к типу данных. Но я не смог применить то же решение, когда их нет.
Это код, который я хочу переписать, используя Java Streams API
public WebTarget attachQueryParams(List<NameValuePair> queryParams, WebTarget webTarget) {
for (NameValuePair param : queryParams) {
webTarget = webTarget.queryParam(param.getName(), param.getValue());
}
return webTarget;
}
Я пытался переписать его, используя функцию stream reduce
, безуспешно:
queryParams.stream().reduce(webTarget,((webTarget1, pair) -> webTarget1.queryParam(pair.getName(),pair.getValue())))