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

升级Activiti 7.9后调用/runtime/process-instances端点遇404问题求助

解决Activiti 7.9升级后REST端点404问题

核心原因

Activiti 7.x版本对REST模块做了重构,旧版本的activiti-spring-boot-starter-rest依赖已被移除,必须引入Activiti Cloud相关组件才能启用标准的流程REST端点。

解决方案步骤

  • 添加Activiti Cloud REST依赖
    在项目的pom.xml中加入以下依赖(Gradle项目请对应调整依赖声明):
<dependency>
    <groupId>org.activiti.cloud</groupId>
    <artifactId>activiti-cloud-starter-rest-api</artifactId>
    <version>7.9.0</version>
</dependency>
<dependency>
    <groupId>org.activiti.cloud</groupId>
    <artifactId>activiti-cloud-services-rest-api</artifactId>
    <version>7.9.0</version>
</dependency>
  • 修正端点URL
    Activiti Cloud的REST端点默认使用/v1前缀,启动流程实例的正确请求路径为:
    POST /v1/process-instances

  • 调整安全配置
    移除原有的全放行安全配置,改用匹配Activiti认证规则的配置,保持HTTP Basic认证适配测试代码:

@Configuration
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http.csrf().disable()
            .authorizeRequests()
                .antMatchers("/v1/**").authenticated()
                .and()
            .httpBasic();
        return http.build();
    }
}
  • 更新测试代码
    修改测试用例中的请求URL,确保与新端点一致:
@Test
public void givenAuthenticated_whenRejectingLevel1_then() throws Exception {
    mvc.perform(post("/v1/process-instances")
            .header(HttpHeaders.AUTHORIZATION, "Basic " + Base64.getEncoder().encodeToString(String.format("%s:%s", username, password).getBytes()))
            .contentType(MediaType.APPLICATION_JSON)
            .content("""
                     {
                        "processDefinitionId" : "isae3402"
                     }
                     """))
            .andExpect(status().isOk());
}

注:手动添加Basic 前缀是HTTP Basic认证的标准格式,确保认证头符合规范

问题排查过程回顾

  1. 最初调用旧路径/runtime/process-instances返回404:Activiti 7.x已废弃该端点路径
  2. 尝试旧版本兼容路径/activiti-rest/service/runtime/process-instances仍404:该路径仅适用于Activiti 6及更早版本
  3. 移除宽松安全配置后返回403:说明端点存在但权限验证不通过,验证了路径错误的猜测
  4. 最终确认依赖缺失:Activiti 7.x将REST功能迁移至Activiti Cloud生态,必须引入对应依赖才能启用端点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:47:44