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