我已经基于该spring-boot-starter-webflux工件实现了一个网络客户端。
代码:
\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}\nRun 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}\nRun Code Online (Sandbox Code Playgroud)\n但是,如果我onStatus向其中添加该方法以检查 HTTP 错误,则会收到错误:“WebClient.ResponseSpec 类型中的方法 …