首页 > 解决方案 > Quarkus 反应式端点“未找到序列化程序”

问题描述

我只是在玩 Quarkus Reactive 端点并且在 Jackson Mapper 上遇到了一些问题。

我的端点:

@Path("/myservice")
public class TestRessource {

@GET
@Path("/test")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Uni<Tmp> getFinancialOverviewMobileProducts() {
    return Uni.createFrom().item(new Tmp("Hello!"));
}
}

我的 Tmp 课程:

import io.quarkus.runtime.annotations.RegisterForReflection;

@RegisterForReflection
public class Tmp {

private String name;

public Tmp(String name) {
    this.name = name;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}
}

当我执行端点测试时,我get the error:

No serializer found for class io.smallrye.mutiny.operators.uni.builders.UniCreateFromKnownItem and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)

我很困惑,因为 getter 和 setter 是可见的。

标签: javaquarkusreactive

解决方案


quarkus-resteasy-mutiny缺少依赖项/扩展名。

mvn quarkus:add-extension -Dextensions="io.quarkus:quarkus-resteasy-mutiny"

或者只是尝试将其添加到您的pom.xml

<dependency>
  <groupId>io.quarkus</groupId>
  <artifactId>quarkus-resteasy-mutiny</artifactId>
</dependency>

推荐阅读