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

无法从Flux/Mono读取值

罗昊空
2023-03-14

我有一个包含两部分的简单程序:一个Spring5服务器,其中一个endpoint返回Mono

当我浏览到http://localhost:8080/rand返回一个双精度值。但是,当我使用客户机时,检索到的值始终为null(响应状态为200)。

我错过了什么?

@SpringBootApplication
@EnableWebFlux
public class Main {
    public static void main(String... args) {
        SpringApplication.run(Main.class);
    }
}
@RestController
public class MyController {
    @GetMapping("/rand")
    public Mono<Double> GetDouble() {
        return Mono.just(ThreadLocalRandom.current().nextDouble());
    }
}
public class MyClient {
    public static void main(String... args) {
        WebClient client = WebClient.create("http://localhost:8080");

        Double value = client.get()
                .uri("/rand")
                .accept(MediaType.APPLICATION_JSON)
                .retrieve()
                .bodyToMono(Double.class)
                .block();
        System.out.println("value = " + value);
    }
}

共有1个答案

陆斌
2023-03-14

这是SpringFramework 5.0.1的一个已知问题,有关更多信息,请参阅SPR-16166。

 类似资料:
  • 我是反应性编程概念的新手。我正在学习“学习Spring Boot2.0”,所描述的简单概念/示例是可以理解的。但是我不知道如何在更复杂的用例中使用mono/flux。spring boot,mongo和project reactor的一些例子 我的模型

  • 我是Reactor编程新手,需要MONO/Flux方面的帮助 我有POJO课程 受雇者Java语言 我在访问服务时返回了Mono,我需要从Mono中提取名称作为字符串。 但这再次返回Mono而不是字符串。我需要从这个Mono中提取String值。

  • 我想从Flux/Mono中获取对象。我使用 我会这样做: 我有错误: 为什么?有什么不同的方法来获取对象? 在反应式编程中,如何做到:在RequestBody中,您有UserDto。 如果不创建用户,请检查数据库中是否存在电子邮件。

  • 我有一个问题做npm启动,这似乎是一个bug与css-loader但我不能修复它。 我读过这篇文章,但我不能让它工作:https://github.com/reactjsresources/react-webpack-babel/issues/197 我还修改了webpack.config.js,添加了: 和: 如果有人能帮忙请... 谢谢.

  • 我在我的项目中使用spring webflux与外部API进行通信。在我的项目中,我无法将Flux转换为List。 在尝试对collectList().block()执行同样的操作时,flux的所有元素都被连接到一个字符串中,并存储在List的第0个索引处。如果我返回Flux而不是List,那么它会发送预期的响应。但我需要操作内容并将其作为子对象添加到其他对象中&因此尝试返回列表。 预期结果:[“