Не удается перебрать карту HttpHeaders - PullRequest
0 голосов
/ 31 марта 2020

Моя IDE говорит

Ошибка: может повторяться только по массиву или экземпляру java .lang.Iterable

На headers.map() в этом код

import java.net.http.HttpHeaders;
import java.net.http.HttpRequest;

public static String dumpRequest(HttpRequest request)
{
    HttpHeaders headers = request.headers();
    for (Map.Entry<String, List<String>> header : headers.map()) {

    }
}

Однако документация map() в моей IDE говорит, что он возвращает Map<String, List<String>>, что мне не хватает? пожалуйста, учтите, что я очень плохо знаком с JAVA

Я использую JAVA 14

Это документация HttpHeaders , которую я использую

Ответы [ 2 ]

1 голос
/ 31 марта 2020

Закрыть.

for (Map.Entry<String, List<String>> header : headers.map().entrySet())

Сама карта не расширяет интерфейс Iterable, поэтому ее нельзя повторять с помощью foreach.

1 голос
/ 31 марта 2020

Попробуйте это
для java http

public static String dumpRequest(HttpRequest request) {
    HttpHeaders headers = request.headers()
    for (Map.Entry<String, List<String>> header : headers.map().entrySet()) {

    }
}

для пружинных рамок java в случае

public static String dumpRequest(HttpRequest request) {
    HttpHeaders headers = request.getHeaders()
    for (Map.Entry<String, List<String>> header : headers.entrySet()) {

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...