如何使用Spring Bootwebclient
发布内容类型请求application/x-www-form-urlencoded
内容类型为`application/x-www-form-urlencode‘的cURL请求示例
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'username=XXXX'
--data-urlencode 'password=XXXX'
如何使用Web客户端发送相同的请求?
我们可以使用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();