how to post body x-www-form-urlencoded using webclient?

Chloe
    MultiValueMap<String, String> body_data = new LinkedMultiValueMap();
    body_data.add("param1", {param1});
    ...
    WebClient webClient = WebClient.builder().baseUrl(api_url+request_url)
            .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_FORM_URLENCODED_VALUE)
            .build();

    String result = webClient.post().contentType(MediaType.APPLICATION_FORM_URLENCODED)
                    .bodyValue(BodyInserters.fromFormData(body_data)).retrieve().bodyToMono(String.class).block();

and it returns

org.springframework.web.reactive.function.client.WebClientRequestException: Content type 'application/x-www-form-urlencoded' not supported for bodyType=org.springframework.web.reactive.function.BodyInserters$DefaultFormInserter; nested exception is org.springframework.web.reactive.function.UnsupportedMediaTypeException: Content type 'application/x-www-form-urlencoded' not supported for bodyType=org.springframework.web.reactive.function.BodyInserters$DefaultFormInserter

Any suggestion for this? content-type should be application/x-www-form-urlencoded.

Akshay Jain
    We can use BodyInserters.fromFormData for this purpose
    
    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();


In another form:

MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
formData.add("username", "XXXX");
formData.add("password", "XXXX");

String response = WebClient.create()
    .post()
    .uri("URL")
    .contentType(MediaType.APPLICATION_FORM_URLENCODED)
    .body(BodyInserters.fromFormData(formData))
    .exchange()
    .block()
    .bodyToMono(String.class)
    .block();

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

How to send post request with x-www-form-urlencoded body

How to force Angular2 to POST using x-www-form-urlencoded

Why does Axios send my POST request with Content-Type application/x-www-form-urlencoded when using a string as the request body?

RestSharp post request - Body with x-www-form-urlencoded values

Send sensitive data using POST+application/x-www-form-urlencoded

how to post data in node.js with content type ='application/x-www-form-urlencoded'

How do I post data using okhttp library with content type x-www-form-urlencoded?

How to POST with application/x-www-form-urlencoded header and URLSearchParams using isomorphic-fetch

How to post (x-www-form-urlencoded) Json Data using Retrofit?

How to post a x-www-form-urlencoded data properly using javascript?

How is Laravel decoding HTTP request body Content-Type: application/x-www-form-urlencoded when using api call

How do I get raw request body using servicestack with content-type set to application/x-www-form-urlencoded?

How to POST content as application/x-www-form-urlencoded

How to POST x-www-form-urlencoded in retrofit

Karate DSL: How to add specific key and value (XML) as x-www-form-urlencoded to body of request?

PYTHON: requests.post() how to send request_body encoded as application/x-www-form-urlencoded

POST using cURL and x-www-form-urlencoded in PHP returning Access Denied

How to escape + in post call content type as application/x-www-form-urlencoded

How to send post request with x-www-form-urlencoded body with loopj-async-http library

How to convert x-www-form-urlencoded post Message to JSON post Message?

why can't Volley String request send Body parameters with POST method in x-www-form-urlencoded?

How to send x-www-form-urlencoded in a post request in webclient?

POST application/x-www-form-urlencoded Body to REST API using Jitterbit

How to do a post request using FORM-DATA or x-www-form-urlencoded with Android?

Server-side Blazor Post using HttpClient with x-www-form-urlencoded

Trying to make an API POST using application/x-www-form-urlencoded in a wpf desktop app

Making a MarkLogic xdmp:http-post() request with x-www-form-urlencoded request body

How to post an array of values using `UrlFetchApp.fetch` with `application/x-www-form-urlencoded`?

How to do a x-www-form-urlencoded POST login using cypress?

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive