问题标签 [spring-webclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
662 浏览

spring-boot - Spring WebFlux 和 WebClient 更改错误响应

我有一些控制器方法,比如

roundRobinBean 为某些主机返回 WebClient。如果我得到连接超时异常或得到 500 响应,我需要调用另一台主机或从缓存返回数据。有一些用于更改内部数据的处理程序吗?

0 投票
1 回答
1658 浏览

java - 如何在 Spring WebClient 中捕获 ConnectionException?

我有以下错误处理RestTemplate

问题:我怎样才能用 spring 达到同样的效果WebClient

问题:我无法直接捕获ConnectionException,因为它被包裹在ReactiveException. 我能比instanceof对任何真正的潜在异常应用多次检查做得更好吗?

0 投票
1 回答
1862 浏览

spring-webflux - 如何在 Spring WebClient 中获取最后一个重定向 URL

可以按如下方式创建遵循重定向的客户端:

在 URL 上调用HEAD请求后,如何Location检索最终标头?换句话说,我们如何才能将最终 URL 重定向到?

0 投票
1 回答
821 浏览

java - 如何使用 Spring WebClient 从并行 Web 请求中收集结果?

我想发送并行 Web 请求并同时收集结果。然后我的方法应该返回聚合结果。

spring-webflux使用with听起来很简单WebClient。但是我如何才能真正汇总结果呢?

重要的是:如果其中一个单声道以异常结束,其他单声道仍应执行而不是中止。

0 投票
0 回答
332 浏览

json - 将响应转换为 Flux 忽略响应 Json 的某些字段

使用 Spring WebClient 我正在调用一个 Rest API,它给我一个 JSON 响应,以下是响应的结构 -

我是反应式编程的新手,我编写了以下代码,效果很好..

但是,实际上我感兴趣的是,只有车辆数组(不想要元数据信息。)是否可以获取/读取车辆(数组)作为 Flux of Vehicle ?

0 投票
0 回答
319 浏览

java - 如何在 Spring WebClient 上进行全局错误过滤?

我想在 my 中添加一个全局错误过滤器WebClient,以便任何200 OK导致异常的异常和响应。

问题:以下已经有效,但如果 url 主机连接完全断开 ( java.net.ConnectException),则过滤器根本不会执行:

用法: webClient.post().syncBody(body).retrieve().block();

问题:如何在此处添加一个全局错误过滤器来捕获这些类型的异常?

0 投票
1 回答
5621 浏览

java - 如何在 Spring Boot API 测试中模拟 Spring 5 WebClient

我有一个 Spring Boot API,它使用 Spring WebClient 在内部调用两个 3rd 方 API。我需要通过模拟两个 API 调用来端到端地测试我的 API。如何创建一个 MockWebServer 来模拟 DAOImpl 类中的两个 API 调用。

我尝试配置一个 MockWebServer 来模拟 WebClient,但它不起作用。

我的控制器

DAO 实现类

webClient 配置类

我尝试使用以下测试类进行模拟,但它没有按预期工作。我无法配置如何模拟 2 个外部 api 调用。

测试班

0 投票
1 回答
1654 浏览

spring-boot - 如何压缩 Spring WebClient 发布请求的正文?

我正在用 Spring WebClient 做一些测试。在以下代码中,我已将 compress 设置为 true。但是,当我检查调试日志时,我可以看到添加了“accept-encoding: gzip”标头,但正文未压缩。有什么方法可以强制压缩发布请求正文?谢谢。

0 投票
1 回答
2484 浏览

java - 发生 HttpStatus::is4xxClientError 时,Webflux Webclient 记录“无法发布消息”

我正在尝试使用 Webflux WebClient 从服务器下载 zip 文件。处理错误的正确方法是什么?

当服务器上存在文件时,一切正常。否则,我会收到来自 Netty 的警告,说它无法发布消息。

我希望日志中没有来自 Netty 的警告,但实际日志是:

UPD。感谢 Thomas,当我像这样更改代码时,问题已经解决

0 投票
0 回答
500 浏览

spring-boot - 我收到 SSL 异常 - “java.security.cert.CertificateException:找不到与 IP 地址 XXXX 匹配的主题替代名称”

当我在我的应用程序中使用 @LoadBalanced 时,我在 Spring Boot 中使用微服务并使用 WebClient 构建器进行不同的 API 到 API 调用我收到 SSL 异常 - “ java.security.cert.CertificateException:找不到与 IP 地址 XXXX 匹配的主题替代名称”。

SSL 证书 CA 是 Go Daddy。

请让我知道如何在我的 SSL CSR 中为 IPAddress 添加 SAN,或者如何在使用 @LoadBalanced 时避免此错误。

提前致谢。