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

spring - WebClient - 处理 XSRF/CSRF 令牌

我正在尝试使用 WebClient 连接到具有 CSRF 保护的 API。如何ExchangeFilterFunction处理XSRF-TOKENcookie 和包含X-XSRF-TOKEN标头?

0 投票
1 回答
1559 浏览

java - Spring WebFlux WebClient:延迟执行

当我像这样定义和调用客户端方法时:

retrieve即使我对返回的 Mono 什么都不做,该方法也会被执行。

我原以为只有在某人(订阅者?)真正想要从 Mono 获取数据时才会调用它。

为什么它会立即被调用?我怎样才能改变这种行为?

有关更多上下文:在我的情况下,我只希望在触发 CacheFlux onCacheMissResume 时执行它:

0 投票
1 回答
5148 浏览

spring - Spring boot Web-Client 异常处理

我正在尝试处理下游服务引发的异常并捕获错误代码以及错误响应消息。在网上搜索了一些解决方案后,我看到了以下处理异常的常用方法,但我真的不确定我必须在 MyCustomConnectionException 中写什么?顺便说一句,当我使用Resttemplate时,我可以通过抛出HttpClientResponseException并捕获所有内容来轻松处理,但这里真的不确定这是如何工作的?我是使用 Webclient 和 Spring 反应技术的新手。有人可以帮我吗。?

0 投票
0 回答
968 浏览

spring - Spring WebFlux:WebClient + 错误后备

如果第一个服务不可用,我想在我的程序运行时设置回退。

在第二个服务上,我使用WebClient访问第一个服务并从中接收数据。

我做了两个选择,但它们对我不起作用。

如果两个服务都存在,那么一切正常。 如果第一个服务不可用,那么当我尝试通过WebClient发送请求时,什么也没有发生,我在浏览器中看到一个空白屏幕。

1)第一个选项:

MyCustomServerException

2)第二个选项:

为什么这不起作用?谁能告诉我?

我希望浏览器显示来自我的班级的错误消息“服务器错误”。

谢谢!

0 投票
0 回答
254 浏览

websphere-liberty - 如何将预配置的 webshpere-liberty SSLSocketFactory 指定为 spring-webclient 使用的 Netty 客户端

我正在构建一个在#websphere-liberty 配置文件上运行的弹簧启动应用程序。我正在使用 Spring webclient 进行出站连接。除了我无法为 Spring Webclient 使用的 netty httpclient 指定自由 SSL 上下文之外,一切都很好。

非常感谢有关如何为 Netty httpclient 指定预配置的 libery ssl 上下文的任何帮助。

IBM 文档说我应该使用 SSLSocketFactory.getDefault() 来获取自由 SSL 上下文。但我看不出有任何方法可以将它传递给 Netty HttpClient。

参考:[ https://www.ibm.com/support/knowledgecenter/en/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_sec_ssl.html]

这是我尝试过的,但它没有指向#Websphere-liberty 配置的 SSL 上下文。相反,它似乎创造了一个新的。因此,netty HttpClient 无法使用信任/密钥库,并且我收到一条错误消息,指出对等方不受信任。

0 投票
2 回答
13698 浏览

java - WebClient maxConnection 池限制?

如果远程服务阻塞,我可以发送多少个并发请求?意思是:spring 使用时内部使用的maxConnectionWebClient池限制是多少?

而且:我该如何修改它?

0 投票
0 回答
857 浏览

java - 如何使用 Spring WebClient 直接写入 Http OutputStream?

我创建了一个端点,它应该提供一个文件供下载。端点本身必须从另一个外部 Web 端点获取下载文件。因此,我的端点是某种下载代理。

由于不必将整个文件读入我的内存(因为文件可能非常大),我想直接将它们写入我的端点用户的响应流中。

如果我使用RestTemplate,我可以按如下方式实现:

但是:我想使用这个WebClient类。我怎么能做到这一点?

0 投票
3 回答
4202 浏览

kotlin - 如何使用组合函数压缩超过 8 个单声道

我通过为作为先前 Web 服务调用的结果返回的每个项目调用多个 Web 服务来丰富数据(即 - 扇出)。

我正在使用 Kotlin、Spring Boot 2 和新的响应式 WebClient。

在这个片段中,我只展示了散播到 web 服务的代码,但实际上这是一个更大管道的末端。

以前我一直在使用 Mono.zip(t1, t2, t3) 接口,它支持最多传递 8 个值并返回具有正确类型的元组。

定义:

我现在有超过 8 个服务要调用,所以我正在研究 Mono.zip(combinatorFn, ... monos) 组合调用结果的方法。

定义:

我在使用KOTLIN时遇到的问题我很难在调用站点定义组合器函数。这是我到目前为止所拥有的:

显然,我需要增强组合器以实际使用输入数组并生成聚合。但是,该代码当前无法编译。

编译错误:

有什么建议么?

谢谢!

0 投票
1 回答
300 浏览

java - 在 WebClient 的请求中添加编解码器以添加内容长度

ChannelOutboundHandler我想在我WebClient的请求中添加某种形式,将“ Content-Length”标头添加到它,然后转发它。我知道班级HttpContentEncoder会这样做。如何在我的WebClient?

0 投票
1 回答
881 浏览

java - 如何从字符串反序列化请求多部分正文

我有一个代表multipart/form-data请求正文的字符串,我想解析它以便编写一个带有断言的单元测试。

我正在使用 springMultipartBodyBuilder来构建请求的主体。然后我想对此请求进行单元测试,所以我正在使用MockWebServer和调用takeRequest()

代码需要测试:

考试:

我不确定如何解析request.getBody()我可以检查的 into 对象。是否有用于多部分请求正文的解析器?