我想打这个电话并返回一个字符串,但我有这个错误:
“java.lang.非法状态异常:块()/块第一()/块最后())正在阻塞,这在线程反应器中不受支持”
我不明白为什么我做错了?WebClient支持异步和同步调用。
这是一个只有3个依赖的springboot项目。
我怎么能像正常的同步调用一样只返回一个字符串?
@RestController
public class HomeController {
@GetMapping("/")
public String home() {
String resp = webclient.get()
.uri(ANY_URL).retrieve()
.bodyToMono(String.class)
.block();
return resp;
}
}
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
谢谢。
通过添加< code > spring-boot-starter-web 修复
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
问题内容: 好的,这就是我的for子手游戏代码,我唯一要做的就是让我的程序将其中一个单词随机化,这应该在方法中成功完成。但是我唯一的问题是让String变量 “ word” 返回到主类(在主类中的所有 “ word” 变量下面都有错误)。 如果我可以通过这种方法获得另一种帮助,或者从列表中产生随机单词的另一种方法,那将是惊人的。 问题答案: 在Java中,参数是通过值而不是引用传递的。因此,您不能
Spring WebFlux的新手,尝试在一个endpoint中返回字符串数组,出于某种原因,它返回了JSON数组的一个串联字符串istead。 用一些类包装它可以解决问题,但想知道如何实际返回字符串数组?返回例如数组
通过使用下面的代码,我可以找出我所在的数据中心,它工作正常。。 但它可能无法找到任何数据中心,因此目前我正在返回。 是否有任何直接的方式或单行命令,我可以在中随机返回或或而不是返回? 我知道一种方法是列出字符串,然后随机选择0到2(包括0到2)之间的任何整数,然后找到字符串。但它的代码太多了,事实上,它不仅仅是想看看有没有其他方法可以做到这一点? 我可以在枚举中直接使用任何简单而直接的方法吗?
我需要自动化一些web服务,为此我创建了一些方法,我想用Cucumber来实现,但是我不知道如何在下一步使用返回值。 所以,我有这个功能: 我有这个步骤: 有什么方法可以一步到另一步使用返回的值? 谢谢大家!
我有一个函数,当某些条件不满足时,它应该不返回任何内容(void)或字符串。 我也试过这句话。左(无效)