本文介紹了Spring Webflow:WebClient:Get Body on Error的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我使用的是來自Spring Webflow的WebClient,如下所示:
WebClient.create()
.post()
.uri(url)
.syncBody(body)
.accept(MediaType.APPLICATION_JSON)
.headers(headers)
.exchange()
.flatMap(clientResponse -> clientResponse.bodyToMono(tClass));
它運行良好。
我現在想要處理來自我調用的Web服務的錯誤(Ex500內部錯誤)。通常,我會在”stream”上添加一個doOnError,并使用Throwable測試狀態代碼,
但我的問題是,我希望獲得Web服務提供的正文,因為它為我提供了我想要使用的消息。
無論發生什么情況,我都希望執行Flat Map,并測試自己的狀態代碼以反序列化或不序列化正文。
推薦答案
請注意,在編寫本文時,5xx錯誤不再導致底層Netty層出現異常。請參見https://github.com/spring-projects/spring-framework/commit/b0ab84657b712aac59951420f4e9d696c3d84ba2
這篇關于Spring Webflow:WebClient:Get Body on Error的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,