You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Kogito中添加自定义Quarkus资源失败(404未找到)

Kogito自定义REST资源404问题解决

问题原因

你写的标准Quarkus REST资源能在Swagger UI显示但调用返回404,核心原因是Kogito的REST路由机制和原生Quarkus不同:Kogito通过自身的KogitoRestApplication管理REST端点,不会自动扫描注册普通JAX-RS资源类,只有符合Kogito规范的资源才会被纳入路由系统。

正确实现步骤

按照Kogito规范改造你的资源:

  1. 定义业务接口:先写带JAX-RS注解的接口
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/")
public interface IPPv2Resource {
    @GET
    @Path("/hello")
    @Produces(MediaType.TEXT_PLAIN)
    String hello();
}
  1. 实现Kogito资源接口:让实现类同时实现业务接口和Kogito的Resource接口
import javax.enterprise.context.ApplicationScoped;
import org.kie.kogito.rest.Resource;

@ApplicationScoped
public class IPPv2ResourceImpl implements IPPv2Resource, Resource {
    @Override
    public String hello() {
        return "Hello World";
    }
}
  1. 确保Maven插件配置正确:项目中的kogito-maven-plugin会在构建时扫描并处理这类资源,自动生成路由注册代码,让Kogito识别你的端点。

为啥不能直接用通用Quarkus资源?

Kogito为了整合流程、规则等业务逻辑的REST暴露,自定义了一套端点注册和分发机制。普通Quarkus JAX-RS资源不会被Kogito的路由系统识别,所以即使Swagger UI能通过扫描注解显示接口,实际调用时Kogito找不到对应的路由,返回404。

参考文档对应内容:《Kogito创建与运行指南》- 创建自定义REST端点API

内容的提问来源于stack exchange,提问作者aritstack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 02:18:17