问题标签 [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 投票
2 回答
1500 浏览

java - 访问令牌响应:tokenType 不能为空

我正在升级我的服务并使用 oAuth2 实现 webclient,我得到的异常是“tokenType 不能为空”,请你帮我解决这个问题。

异常:org.springframework.security.oauth2.core.OAuth2AuthorizationException:[invalid_token_response] 尝试检索 OAuth 2.0 访问令牌时发生错误响应:提取类型 [class org.springframework.security.oauth2.core.endpoint 的响应时出错.OAuth2AccessTokenResponse] 和内容类型 [application/json];嵌套异常是 org.springframework.http.converter.HttpMessageNotReadableException:读取 OAuth 2.0 访问令牌响应时出错:tokenType 不能为空;嵌套异常是 java.lang.IllegalArgumentException: tokenType 不能为 null

0 投票
1 回答
2641 浏览

spring - 如何在普罗米修斯中公开 webClient 指标?

我想从服务向下游系统公开 WebClient 调用的指标,需要诸如请求计数、最短、最长响应时间等指标。

我想知道如何为响应式 Web 客户端编写量规。

这是我有兴趣与 webclient 一起使用的示例 MeterBinder。

0 投票
2 回答
12901 浏览

spring-boot - 代理设置不适用于 Spring WebClient

我的以下 WebClient 在 Internet 连接上工作正常,但不能通过我们的代理连接。

事件虽然,同一个客户端正在通过代理工作,如果我如下所述设置它,

但是,如果我使用System.setProperty("http.proxyHost","ourproxy.com"); System.setProperty("http.proxyPort","8080"); 或 JVM 运行时参数设置相同的代理详细信息-Dhttp.proxyHost=ourproxy.com -Dhttp.proxyPort=8080

调用因 UnknownHostException 而失败,例如,

请帮忙,如果我通过 JVM 运行时参数或系统属性设置代理详细信息,为什么我的代码无法运行。

其实我想避免代码级代理设置。所以请指导我更正我的代码或方法,以便我可以使用 JVM 运行时参数选项。

0 投票
0 回答
612 浏览

spring-data - 由于 ReadTimeoutException 调整 ReactiveElasticsearchClient

我们一直在试验,ReactiveElasticsearchRepository但是当服务保持空闲几个小时并且您尝试从 Elastic Search 检索超时的数据时,我们遇到了问题。

我们在发出前几个请求时看到的是:

当我启用DEBUGforreactor.netty时,我可以看到它经历了尝试池中每个连接的动作:

直到最终所有活动/非活动连接都被清除,然后它重新创建新的连接然后工作。

有没有办法在幕后进行调整,以限制连接在重新创建之前可以在池中保留多长时间?或者能够处理这些超时的替代想法。

0 投票
1 回答
10339 浏览

java - 如何使用 WebClient 执行同步请求?

Spring 文档指出,WebClient即使我们想要执行同步 http 调用,我们也必须从 RestTemplate 切换到。

现在我有以下代码:

当然我可以在这里使用 CountdownLatch 但它看起来像 API 滥用。

我怎么能执行同步请求?

0 投票
0 回答
6861 浏览

java - 如何记录spring webclient请求和响应正文?

向 WebClient 添加了一个 ExchangeFilterFunction,它记录请求和响应,但在记录时,无法将请求和响应正文记录为字符串或 JSON。它作为一个对象打印

尝试了不同的转换并使用 bodyToMono、toEntity 将主体作为字符串检索,但它们返回的是一个对象而不是字符串。

0 投票
1 回答
1436 浏览

java - 缓存和使缓存的 Mono 无效

我在尝试缓存 aMono返回的 a时遇到问题WebClient。代码是这样的:

目的是缓存Mono用于接收 a 的Token对象,直到令牌过期。令牌过期后,缓存Mono变为空并请求新令牌。这可以按预期工作,但不幸switchIfEmpty()的是实际上并没有“切换”,而是包装了源代码Mono。结果,随着越来越多的包装SwitchIfEmptyMono被创建,这会产生内存泄漏。在这种情况下,正确的模式是什么?有没有办法用新的代替空Mono的?

0 投票
2 回答
273 浏览

java - 如何并行调用多个http请求(具有重试功能)并等待所有请求完成?

现在我的代码如下所示:

我怎么能等待所有回复都被接受的那一刻?

如果某些请求失败,我只想重试它们。

我怎样才能实现它?

0 投票
0 回答
1042 浏览

java - 为什么 webClient 不做任何 http 调用?

我有以下代码:

webClient 实例化:

我的目标是允许并行执行队列中的所有 http 请求,并在所有请求完成后等待。但是尽管队列不是空的,但实际的 http 调用并没有发生。你能解释一下为什么以及如何解决它吗?

更新

感谢@caco3 的建议。我更正了这样的代码:

我看到以下日志:

所以当前代码不会等待所有请求终止。但我真的需要它

0 投票
2 回答
1292 浏览

java - 使用spring webClient完成所有http请求后如何等待?

我想为每个队列元素执行 http 请求。这些请求应该被并行调用。
我还需要等待所有请求的终止。

我开发了以下代码:

当队列具有单个元素时,我会看到以下日志:

所以这段代码不允许等待请求终止。

我怎么能做到呢?

附言

看起来Flux.merge(monoList).blockLast()是我需要的东西。它会正常工作吗?