Java 如何从Spring WebClient POST调用引发异常?
我有以下代码,它将一些数据发送到PDF生成服务,该服务将生成的PDF作为字节数组返回:Java 如何从Spring WebClient POST调用引发异常?,java,spring,spring-boot,Java,Spring,Spring Boot,我有以下代码,它将一些数据发送到PDF生成服务,该服务将生成的PDF作为字节数组返回: try{ //...setup code etc. byte[] clientResponse = webClient.post() .uri(pdfServiceUrl + pdfMergeAndFillUri) .header("Accept
try{
//...setup code etc.
byte[] clientResponse = webClient.post()
.uri(pdfServiceUrl + pdfMergeAndFillUri)
.header("Accept", MediaType.APPLICATION_JSON_VALUE)
.header("Content-Type", MediaType.APPLICATION_JSON_VALUE)
.body(Mono.just(reqBody), String.class)
.retrieve()
.onStatus(HttpStatus::is4xxClientError, response -> {
return Mono.error(new CustomException(response.toString(), "Client Error", response.statusCode().toString()));
})
.onStatus(HttpStatus::is5xxServerError, response -> {
return Mono.error(new CustomException(response.toString(), "Server Error", response.statusCode().toString()));
})
.bodyToMono(byte[].class)
.block();
} catch (Exception e) {
logger.error("Could not create PDF using document template. " + e.getMessage());
}
我不确定如何处理返回的Mono.error
。我想做的是让行为类似于一个抛出
,在发生Http错误时抛出自定义异常
,并相应地进行处理。在这种情况下我该怎么做
我试图避免回到restemplate
,因为它已被弃用