Как отправить запрос с помощью весеннего загрузочного веб-клиента для данных формы для типа контента приложения / x- www-form-urlencoded - PullRequest
0 голосов
/ 17 января 2020

Как использовать весеннюю загрузку webclient для отправки запроса с типом контента application/x-www-form-urlencoded пример запроса скручивания с типом контента `application / x- www-form-urlencoded '

curl --location --request POST 'URL' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'username=XXXX' \ --data-urlencode 'password=XXXX' Как я могу отправить тот же запрос используя веб-клиент?

1 Ответ

3 голосов
/ 17 января 2020

Мы можем использовать BodyInserters.fromFormData для этой цели

webClient client = WebClient.builder()
                            .baseUrl("SOME-BASE-URL")                                                                      
                      .defaultHeader(HttpHeaders.CONTENT_TYPE,MediaType.APPLICATION_FORM_URLENCODED_VALUE)
                                        .build();
            return client.post().uri("SOME-URI)
                         .body(BodyInserters.fromFormData("username", "SOME-USERNAME")
                                            .with("password", "SONE-PASSWORD"))
                         .retrieve()
                         .bodyToFlux(SomeClass.class)
                         .onErrorMap(e->new MyException("messahe",e))
                         .blockLast();

        }
...