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

如何使用Webflux - webclient只返回一个字符串?

尤研
2023-03-14

我想打这个电话并返回一个字符串,但我有这个错误:

“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>

谢谢。

共有1个答案

东和怡
2023-03-14

通过添加< 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)或字符串。 我也试过这句话。左(无效)