我有以下代码,它将一些数据发送到pdf生成服务中,该服务将生成的pdf作为字节数组返回:
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
这是返回的。我想做的是有类似于 throw
,我会把 CustomException
在发生http错误的情况下,进行相应的处理。在这种情况下我该怎么做?
我尽量避免回到过去 RestTemplate
鉴于它已被弃用。
暂无答案!
目前还没有任何答案,快来回答吧!