我在这里使用Reactor Netty HTTP客户端作为独立的依赖项,即不是通过spring-webflux
,因为我不想拖入与spring相关的依赖项
从文档中可以看出,可以发出返回HttpClientResponse
的请求
import reactor.netty.http.client.HttpClient;
import reactor.netty.http.client.HttpClientResponse;
public class Application {
public static void main(String[] args) {
HttpClientResponse response =
HttpClient.create()
.get()
.uri("http://example.com/")
.response()
.block();
}
}
问题是httpclientresponse
只包含头和staus。从这里的Java文件可以看出
从示例中也可以使用您可以做的数据
import reactor.netty.http.client.HttpClient;
public class Application {
public static void main(String[] args) {
String response =
HttpClient.create()
.get()
.uri("http://example.com/")
.responseContent()
.aggregate()
.asString()
.block();
}
}
但这仅将http实体数据作为字符串返回。没有有关标头或状态代码的信息。
我现在遇到的问题是,我需要发出一个请求,并得到一个响应,该响应既给我报头、状态等,又给我http响应体。
我好像找不到办法。有什么想法吗?QW
看看下面的方法:
通量
响应(双功能
>接收器)
单
响应(双功能
>接收器)
它们允许您同时访问响应正文、状态和http头。
例如,使用responseSingle
方法,可以执行以下操作:
private Mono<Foo> getFoo() {
return httpClient.get()
.uri("foos/1")
.responseSingle(
(response, bytes) ->
bytes.asString()
.map(it -> new Foo(response.status().code(), it))
);
}
上面的代码将响应转换为某些域对象foo
,定义如下:
public static class Foo {
int status;
String response;
public Foo(int status, String response) {
this.status = status;
this.response = response;
}
}
我有一些文件要上传,有些文件失败了,因为帖子是异步的,而不是同步的。 我正在尝试将此调用作为同步调用。 我想等回应。 如何将此调用设为同步调用? 任何帮助感谢!
问题内容: 我经常在Netty工作,但仍然有一个概念在暗示我,在教程等中找不到任何内容。首先,我确实了解Netty是异步的,但是客户端必须有一种方法来调用服务器,并且能够获得处理程序之外的响应。让我解释更多。 我有一个客户,如下图所示。并且请注意,我知道它是自举的,并且在每次调用时都会建立一个新的连接,这是为了使示例更小,更简洁。请忽略这个事实。 客户端.java 现在,我了解了如何获取服务器上的
只是想知道有没有办法得到spring Web-Flux的web客户端的响应时间?
问题内容: 我正在使用Zend_Framework编写一个应用程序(因此解决方案可以依靠它)。 如何获得客户的时区? 例如,如果有人在俄罗斯莫斯科,我想得到3 * 60 * 60(因为有UTC + 3)。如果他在英国,我要零。如果他使用UTC-3:30(加拿大?),我要-3.5 * 60 * 60。 (这不是格式的问题-我可以在俄罗斯圣彼得堡获得’Europe / Moscow’或’UTC-3’,
我通过一个spring上下文注入了一个JAX RS客户端,如下所示: 在成功响应(200、202、204)的情况下,如何访问响应状态?
我试图使用REST模板从另一个组件调用delete方法。我在POSTMAN中收到的响应是以下JSON: 我应该无法删除该对象,所以我的请求在org.springframework.web.client.HttpClienterRoreXception失败。 在日志中,我只看到: 这是我用来捕获HttpClienterRoreXception的代码: 我在其他文章DELETE in Spring R