当前位置: 首页 > 知识库问答 >
问题:

使用Spring WebClient时没有从endpoint接收数据,但我可以使用curl来获取数据

常心水
2023-03-14
$ curl "my/end/point"
data: {"message": "event1"}

data: {"message": "event2"}

data: {"message": "event3"}

data: {"message": "event4"}

...
final WebClient webClient = WebClient.create("my/end/point");
final String result = webClient.get()
                               .retrieve()
                               .bodyToFlux(String.class)
                               .blockFirst();
System.out.println(result);
null
final StringBuilder result = new StringBuilder();
final URL url = new URL("my/end/point");
final URLConnection conn = url.openConnection();
final BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
    result.append(line);
}
rd.close();
System.out.println(result.toString());

运行30秒后是否显示预期结果

data: {"message": "event1"}

data: {"message": "event2"}

...

有人知道为什么WebClient的结果是空的,而从endpoint获取数据的其他方法不是空的吗?我使用的是Java11和spring-webflux版本5.1.5。

共有1个答案

彭衡
2023-03-14

我解决了问题,而不是做

final WebClient webClient = WebClient.create("my/end/point");

final WebClient webClient = WebClient.builder()
                                     .clientConnector(new ReactorClientHttpConnector(HttpClient.create()))
                                     .baseUrl(this.legalThingsSocketSettings.getUrl())
                                     .build();

工作,但我有点困惑,因为ReactorClientHTtpConnector应该是WebClient的默认客户端连接器。

 类似资料:
  • 问题内容: 因此,我有一个返回jSON对象的链接,我需要对其进行解码并将其放入PHP中的变量中。 网址 这是它返回的对象 我真的只对 最后是消息 那么,如何提取jSON对象并将其放入PHP中可以稍后使用的正确变量中? 变量,如:,,,,,等。 我只需要知道如何检索jSON对象,然后将数据提取到PHP中的变量中即可。 我现在可以获取PHP数组,但是在调用正确的值时遇到了一些麻烦。这是数组。 自从我们

  • 所以我有一个返回jSON对象的链接,我需要对它进行解码并将其放入PHP中的变量中。 URL 这是它返回的对象 我真的只对 最后是信息 那么,我如何提取jSON对象并将其放入PHP中以更正我以后可以使用的变量呢? 像这样的变量:,,,,,等等。 我只需要知道如何检索jSON对象,然后将数据提取到PHP中的变量中。 我现在能够获得PHP数组,但是调用正确的值时遇到了一些问题。这是数组。 数组([计数]

  • 这是我的角js代码,我想在其中以Json格式将数据发送到我用java编写的restful Web服务。它调用了webservice,但我没有得到任何数据。 这是我需要数据的restful Web服务。 返回响应;}

  • 我正在测试一个基于酒店搜索的场景。所以我做了3个模型类,分别是酒店、房间和可用性 下面是我们正在使用的三个模型类。 Hotel.java @文档(集合="酒店")公共类酒店{ } Room.java @文件(收集=“房间”)公共教室{ } 可利用性Java语言 @文件(收集=“房间”)公共类可用性{ } 这些存储在两个mongodb集合中,一个用于酒店,另一个用于房间和可用性。 下面是我们从中提取

  • 此代码给出了预期的XML输出: 但当我试图通过更改以json格式获取数据时: @产品(MediaType.APPLICATION_XML)到@产品(媒体类型。APPLICATION_JSON),我得到一个错误: 严重:未找到媒体类型为application/json,类型为class-com的MessageBodyWriter。市场。英亩。dummyapp。测验ForTest,genericTyp

  • 之后,服务器将通过URL地址给出响应作为授权代码(我已经完成了这一步,并得到了代码)。 正如docs解释的那样,代码应该使用/oauth2/access_token交换访问令牌,只要有客户机ID和客户机Secret(get access_token) 但是我不知道如何通过cURL将数据发送到服务器,我尝试了很多curl_setopt()选项和组合,但仍然一无所获。