Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringWebClient:当请求主体遇到错误时会发生什么_Spring_Spring Webflux_Project Reactor_Spring Webclient - Fatal编程技术网

SpringWebClient:当请求主体遇到错误时会发生什么

SpringWebClient:当请求主体遇到错误时会发生什么,spring,spring-webflux,project-reactor,spring-webclient,Spring,Spring Webflux,Project Reactor,Spring Webclient,在春季,我们可以将一个Mono作为请求主体传递给WebClient。但是如果Mono的Mono终止时出现错误怎么办?WebClient是否会发送此请求?如果是的话,它实际上会发送什么?如果不是,HTTP连接是否会关闭(即使是持久连接) 代码示例: String responseBody = WebClient.create().post() .uri("http://localhost/example") .header("X-Header-Para

在春季,我们可以将一个
Mono
作为请求主体传递给
WebClient
。但是如果Mono的
Mono
终止时出现错误怎么办?
WebClient
是否会发送此请求?如果是的话,它实际上会发送什么?如果不是,HTTP连接是否会关闭(即使是持久连接)

代码示例:

String responseBody = WebClient.create().post()
    .uri("http://localhost/example")
    .header("X-Header-Param", "header value")
    .body(Mono.defer(() -> Mono.error(new Exception("boom"))), String.class)
    .retrieve()
    .bodyToMono(String.class)
    .block();

请注意,
body
方法的第一个参数是延迟的
Mono
,它将始终引发异常。

出错时将发出错误信号并终止序列。所以请求不会被发送。