WebClient выбрасывает 404 на URL - весенняя загрузка - PullRequest
0 голосов
/ 28 января 2020

Я только начал работать с webclient, и я не знаю о полном объеме его использования.

Поэтому я попытался создать запрос GET с объектом HttpURLConnection, который работает отлично. Ниже приведен код:

    HttpURLConnection connection;
    String authHeaderValue;
    authHeaderValue = getAuthorizationHeader();
    BufferedReader reader;
    String line;
    StringBuilder responseConstant = new StringBuilder();
    URL url = new URL(complete_url);

    System.out.println(url);
    connection = (HttpURLConnection) url.openConnection();
    connection.setRequestProperty("??","??");
    connection.setRequestProperty("??",??);
    connection.setRequestProperty("??",??);
    connection.setRequestProperty("??","??");
    connection.setReadTimeout(5000);
    connection.setRequestMethod("GET");
    int responseCode = connection.getResponseCode();

    if (responseCode > 299) {
        reader = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
    } else {
        reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    }
    while ((line = reader.readLine()) != null) {
        responseConstant.append(line);
    }
    reader.close();

    return responseConstant;

Но аналогичная реализация для объекта веб-клиента говорит, что 404 Not Found from GET https://advertising-api-eu.amazon.com/v2/profiles

Ниже приведена реализация:

WebClient newWebClient = WebClient
            .builder()
            .baseUrl("https://advertising-api-eu.amazon.com")
            .defaultHeader(??,??)
            .defaultHeader(??,??)
            .defaultHeader(??,??)
            .defaultHeader(??,??)
            .build();

    return newWebClient
            .method(HttpMethod.GET)
            .uri("/v2/profiles")
            .retrieve()
            .bodyToMono(String.class);

Может кто-нибудь сказать, есть ли какие-то ограничения на использование webclient или есть какая-то ошибка в моем коде.

...