问题标签 [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 回答
519 浏览

java - 使用递增的查询参数重复 WebClient 调用

我正在尝试构建一种方法,该方法应该对一个外部端点执行许多 HTTP 请求,而一个查询参数小于 45000。

我需要这样做,因为外部端点允许我获取 100 个项目,但要获取的项目超过 44000 个。

它似乎有效,因为记录偏移参数增加但 HTTP 请求的偏移量等于 0。该方法返回前 100 个项目而不是 44566 个项目

0 投票
0 回答
813 浏览

java - 如何将响应式 ClientResponse 转换为 String?

如果不是如下所示,我如何将 a 转换org.springframework.web.reactive.function.client.ClientResponse为?String

结果;:

dsywceWebExceptionHandler:输出类 [java.lang.String] 既没有用@XmlRootElement 也没有@XmlType 注释

0 投票
0 回答
882 浏览

java - 如何在每个 webflux 请求上应用 WebClient.attribute?

我有一个用fromWebClient创建的。WebClient.Builderspring-webflux

MDC.get("uuid")我想将特定参数(此处)移交给使用该参数执行的每个请求WebClient。可以这样做:

但是:我更喜欢在这个WebClient.Builder过程中已经添加这个属性,例如作为一个ExchangeFilter或类似的。这样使用我的默认公共构建器的每个类都会自动设置此属性,而不必在每个 Web 请求上显式调用它。

那可能吗?

0 投票
2 回答
2098 浏览

spring-boot - Kotlin Spring Reactive Webflux - 处理 WebClient 错误

我在尝试处理调用 Spring webflux 的 Web 客户端时遇到的不同错误时遇到了麻烦。

以下是我当前的代码。

如果它出错,它仍然会从客户端调用返回完整的错误消息。

我尝试了别的东西,像这样

它确实有效,但是我想处理不同的 Http 状态代码错误(每个 Http 状态代码的不同消息)。

如何修改我的代码,使其返回我构建的自定义消息?

0 投票
1 回答
497 浏览

spring-boot - 如何对发出外部 WebClient 请求的类进行单元测试?

我有一个@Service类执行一些空值检查,然后使用 WebClient 调用外部微服务。Sonar 抱怨这个类没有经过测试,因为该方法没有经过全面测试。问题是,我怎样才能模拟这个调用或为此使用模拟服务器?我已经尝试过 WebTestClient 但我似乎无法让事情正常工作..

所以我不想真正打这个电话,我只想在测试中涵盖它,所以我想了解一下如何模拟或启动模拟服务器。我一直在这个现在一天..

0 投票
2 回答
362 浏览

java - 如何在 Spring 的 WebClient 上验证 bean?

我想答案是否定的,因为文档中对 Bean Validation 的所有引用都与服务器端有关。

客户端是否支持 Bean Validation?这样我就可以在将实体发送到服务器之前对其进行验证。

0 投票
1 回答
7366 浏览

java - WebClient 从订阅返回值

我尝试使用 webclient 非阻塞方法验证验证码响应。所以它可以工作,但我需要我的方法返回布尔值而不是异常。我如何从订阅中返回值?

0 投票
0 回答
1285 浏览

netty - 春季webflux | 无限期保持连接

我们需要无限期地保持连接打开并重新连接,以防找不到来自服务器的响应或任何错误。

我们正在考虑使用 IdleStateHandler 和 HeartbeatHandler 来实现相同的功能,但编写代码有困难。有人可以帮助我们使用伪代码或一些帮助来实现相同的目标。这就是我们迄今为止所拥有的。

0 投票
1 回答
939 浏览

spring-webflux - 访问 ExchangeFilterFunction 中的上下文

由于某种原因,方法内部的上下文doAfterSuccessOrError无法从上游获得(填充)。我尝试使用Mono.subscriberContext()(见截图)访问它。我希望它存在,但由于某种原因没有。难道我做错了什么?

这是一个日志输出

0 投票
1 回答
872 浏览

spring-boot - WebFlux WebClient 在分段上传期间将整个文件加载到直接缓冲内存中

我正在使用 Spring Boot 2.1.6.RELEASE 和 Webflux 构建应用程序

我们有一个端点,我们可以使用多部分上传文件,并使用 WebClient 进行上传。

我们的上传客户端代码如下所示

然而,当我们上传一个大文件(1.6gb)时,我们看到整个文件被加载到直接内存中:

视觉虚拟机

随着文件上传,内存被释放,然后当下一个文件上传时,您可以再次看到内存中的峰值。

相比之下,我尝试用https://github.com/AsyncHttpClient/async-http-client替换 WebClient并且内存使用量要低得多,每次上传约 60mb

当 WebFlux 客户端适用于我们所有其他用途时,我真的不想引入另一个 http 客户端依赖项。