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

quarkus:反应性兵变返回对象Uni引用,而不是字符串值

郭辉
2023-03-14

当我到达endpoint时,我会得到这个资源:

$ curl http://localhost:8080/hello
io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem@255ef91

这是我的代码:

@Path("/hello")
@AllArgsConstructor
public class GreetingResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public Uni<String> hello() {
        return Uni.createFrom().item("item1");
    }
}

这些是我的quarkus项目依赖项:

xml prettyprint-override"><dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>${quarkus.platform.group-id}</groupId>
        <artifactId>${quarkus.platform.artifact-id}</artifactId>
        <version>${quarkus.platform.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-neo4j</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy-jackson</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-resteasy</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-arc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>${lombok.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-mutiny</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-junit5</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>rest-assured</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

有什么想法吗?

共有1个答案

终育
2023-03-14

RESTEasy和Quarkus-resteish扩展不知道Uni是什么,并且不能正确地序列化它。

如果可以,如果您使用的是被动类型,我建议您切换到quarkus resteasy Responsive(和quarkus resteasy Responsive jackson)。

如果您需要经典的RESTEasy,请将Quarkus-restease-叛变添加到您的依赖项中。

 类似资料:
  • 背景:本周我刚刚开始学习Quarkus,尽管我以前使用过一些流媒体平台(特别是scala中的http4s/fs2)。 工作与夸克斯反应性(与兵变)和任何反应性数据库客户端(兵变反应性postgres,反应性elasticsearch,等)我有点困惑如何正确管理阻塞调用和线程池。 quarkus文档建议使用注释命令式代码或cpu密集型代码,以确保将其转移到工作池以不阻塞IO池。这是有道理的。 考虑以

  • TL;DR:哪种模式更常见?使用Mutiny Imperative resteasy,还是只使用resteasy? 我的理解是,哗变允许我传递给Quarkus一个更长的运行动作,并让它处理代码如何在上下文中运行的细节。使用被动技能比兵变命令有同等或更多的好处吗?如果从功能的角度看,从线程处理的角度看,它是相等的或者更好,那么Reactive将是很好的,因为它需要更少的代码来维护(创建uni,等等)

  • 问题内容: 我有一个$ .ajax()请求,其dataType设置为“ json”。服务器返回的JSON具有正确的mime类型“ application / json”。但是,我的jqXHR对象中的responseText始终是字符串。我究竟做错了什么?这是应该如何工作的吗? 这是我拨打电话的方式: 所以我必须做一个才能得到一个实际的对象。这似乎没有必要,因为$ .ajax()应该根据文档自动转换

  • 以下endpoint以字符串形式返回用户名。 我如何构造它以返回一个json对象,该对象包含一个键,该键的值为该字符串(例如,{“user”:“joeuser”})?

  • 我在Quarks应用程序中使用Smallrye Mutiniy反应库,因为它在Quarks应用程序中本机受支持。 我正在尝试为服务类编写单元测试。我不确定如何为返回Uni/Multi的方法编写单元测试。 一种返回Uni的方法 为上述方法实施的单位 控制台日志

  • 背景:我刚刚开始使用Quarkus,正在经历https://quarkus.io/guides/resteasy-reactive 我定义了以下endpoint: 基本不是特别相关,我不认为;它产生一个