问题标签 [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.
java - 在 Spring Framework 中使用 WebClient 调用 REST 时出错
我正在尝试使用 WebClient 进行 REST 调用,但是我无法传递请求正文。它显示错误 - 类型捕获#1-of 的方法 syncBody(body) 未定义?
它显示错误 - 类型捕获#1-of 的方法 syncBody(body) 未定义?
rx-java - 如何测试 Spring WebClient 何时重试?
我需要实现以下行为:
- 发出 REST 发布请求
- 如果响应返回一个状态
429 Too many requests
,最多重试 3 次,延迟 1 秒 - 如果第三次重试失败或发生任何其他错误,请记录并将内容写入数据库
- 如果请求成功(http status 200),记录一些信息
我想为此目的使用 Spring WebClient 并提出以下代码:
现在我想测试一下重试机制和错误处理是否按我的预期工作。也许我可以为此目的使用StepVerifier,但我只是不知道如何在我的情况下使用它。有什么有用的提示吗?
spring - 如何在反序列化之前使用 java reactor webclient 打印 responseBody
我们计划从 spring Rest-Template 迁移到 Reactor-webclient。
使用 Rest-template,我们编写了自定义日志拦截器,在反序列化之前,我们使用 uniqueId 打印请求和响应。
现在 webclient 提供过滤器,但在过滤器中我无法访问 responseBody 来记录它。
我们有一些第三方 API,它们在错误的情况下发送字符串,在成功的情况下发送一些对象。在这种情况下,我迫不及待地在反序列化后记录响应,因为它会中断,我们将无法记录我们得到的响应。
spring-boot - 调用 MockWebServer 时无法访问 ExternalResource
我无法让MockWebServer正常工作。我将依赖项添加到 build.gradle
testImplementation 'com.squareup.okhttp3:mockwebserver:4.2.0'
我有以下课程(我从这里复制https://codingtim.github.io/webclient-testing/)
我的测试课看起来像这样
但是,当我尝试运行测试时出现以下错误
ApiCallerTest.java:19:错误:无法访问 ExternalResource private final ApiCaller apiCaller = new ApiCaller(WebClient.create(mockWebServer.url("/").toString()));
知道可能出了什么问题吗?
spring-boot - Spring Webclient:非法参数异常没有足够的变量来扩展“comment_count”
我正在使用 spring webclient 使用包含 {comment_count} 的 url 发出 Facebook 图形 api 请求
但是,得到这个例外
代码片段:
我知道resttemplate的解决方案,但我需要使用spring webclient。
reactor-netty - Spring 5 的 Reactive WebClient 不是那么异步?
我遇到了奇怪的 Spring WebClient 行为。我有两个网址,慢的和快的。机器人什么都不做,但慢一点,只需等待十秒钟即可响应。当我使用 WebClient 同时调用它们时,我希望快速 URL 会比慢速 URL 更早完成,但实际上它们都是同时完成的。最糟糕的是 - 有时它会按预期工作。有没有人想过,为什么它会以这种方式运行,以及如何使它正常工作?这是我的例子
结果(大多数情况下)
在极少数情况下,它会按预期工作
reactive-programming - 如何在反应式 Spring WebClient 调用的错误部分引发异常?
如果发生错误,我希望以下方法引发自定义异常:
我还设置了一个单元测试,期望抛出 CustomException。不幸的是,测试失败了,异常被包裹在一个 Mono 对象中。这里还有测试代码供参考:
我正在使用MockWebServer来模拟测试中的错误。
那么,如果调用,我应该如何实现 doOnError 或 onError 部分,以使我的方法真正抛出异常?
java - 使用 WebClient 时是否可以避免调用 CONNECT 修改 HTTP 代理配置?
在 to 的迁移过程spring-web
中spring-reactive-web
,我们被HTTP proxy
at WebClient
builder 方法的实现阻塞了。
我们之前已经尝试过下面的代码片段,在How can I support an HTTP Proxy using Spring 5 WebClient? .
对于上面提到的需要启用 TLS 的代理支持的代码。它尝试使用 HTTP-Connect 方法建立连接,对于我们的情况,我们得到了status: 403 Forbidden
,因为我们现在没有 https 支持。要禁用 httpClient 的 HTTPS 功能,我什至尝试过noSSL()
,但它对我不起作用,
无论我尝试从 HTTP 客户端启用还是禁用 SSL 部分,网络活动时间线看起来都是一样的,我的意思是对于所有情况,当我使用代理时它都会调用 HTTP CONNECT 方法。
下面的代码看起来不错,可以帮助我们很好地调用 API,但没有找到任何将HTTP_PROXY (Without HTTP CONNECT method call)
配置与其关联的标准方法。
在这里,我们正在寻找一种使用 WebClient 实现 HTTP 调用机制的标准方法,该
GET
方法使用 WebClient 考虑特定于域的, , ,POST
用于PUT
某些后端调用。DELETE
SOCKET_TIMEOUT
CONNECTION_TIMEOUT
HTTP_PROXY (Without HTTP CONNECT method call)
Number of RETRY
对于依赖部分,我们的 WebClient 的有效版本来自,
Gradle: org.springframework:spring-web:5.1.7.RELEASE
如果您对此有任何进一步的疑问,请随时在下面发表评论。
spring-boot - 向外部 API 发送发布请求并提取数据
我希望在我的代码中模仿以下发布请求:
理想情况下,我会得到的 JSON 响应是这样的
{“数据”:{“id”:“111”,“标识符”:“test1”,“秘密”:“秘密”}}
我正在尝试使用 WebClient 来构建这样的请求
我收到错误
org.springframework.web.reactive.function.client.WebClientResponseException$BadRequest: 400 错误请求
这样做......我哪里错了?还有一种更有效的方式来发送这样的请求吗?我无法理解如何正确使用 Mono。
spring-boot - Spring Boot Webclient 的检索与交换
我最近开始WebClient
在我的Spring Boot项目中使用。有人可以exchange
对retrieve
.WebClient
我知道exchange
返回Mono<ClientResponse>
和retrieve
返回ResponseSpec
,我只想知道何时/为什么应该使用它们中的每一个。
非常感谢。