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