小编zim*_*mtz的帖子

为什么 Spring Webclient onStatus 不适用于 HttpStatus::is4xxClientError?

我已经基于该spring-boot-starter-webflux工件实现了一个网络客户端。

\n

代码:

\n
// create  client bean to use throughout services\n@Bean\npublic WebClient geoserverWebClient() {\n    // to not fall prone to DataBufferLimitException\n    final int size = 16 * 1024 * 1024;\n    final ExchangeStrategies s\xce\xa9trategies = ExchangeStrategies.builder()\n        .codecs(codecs -> codecs.defaultCodecs().maxInMemorySize(size))\n        .build();\n    \n    return WebClient.builder()\n        .exchangeStrategies(strategies)\n        .baseUrl(geoserverURL) \n        .defaultHeader(HttpHeaders.AUTHORIZATION, "Basic " + Base64Utils.encodeToString(geoserverBasicAuth.getBytes()))\n        .build();\n}\n
Run Code Online (Sandbox Code Playgroud)\n

到目前为止,我在使用它时没有遇到任何问题,例如:

\n
// send getMap WMS to geoserver\npublic Mono<byte[]> getMap(String requestURL){\n\n    return geoserverWebClient\n    .get()\n    .uri(requestURL)\n    .retrieve()\n    .bodyToMono(byte[].class);\n}\n
Run Code Online (Sandbox Code Playgroud)\n

但是,如果我onStatus向其中添加该方法以检查 HTTP 错误,则会收到错误:“WebClient.ResponseSpec 类型中的方法 …

spring undefined http-error spring-webflux spring-webclient

2
推荐指数
1
解决办法
3565
查看次数