首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Actiiviti业务流程引擎:扩展REST api

Actiiviti业务流程引擎:扩展REST api
EN

Stack Overflow用户
提问于 2016-10-12 16:01:05
回答 3查看 161关注 0票数 1

我想创建一些新的REST资源。例如,列出工作流中所有下一个可能的任务。

我想创建自己的war,可以部署在Glassfish 4中。(payara)

我需要什么副手?如何创建新的终结点urls?

EN

回答 3

Stack Overflow用户

发布于 2016-10-12 17:45:20

Activiti REST应用程序是使用Spring MVC编写的。默认情况下,org.activiti.rest.service.api是组件扫描的(请参见https://github.com/Activiti/Activiti/blob/master/modules/activiti-rest/src/test/java/org/activiti/rest/DispatcherServletConfiguration.java#L25)。

因此,如果您将带有适当Spring MVC注释的自定义类放在同一个包中,您就有了一个自定义端点,您可以在其中实现您想要的东西。

为此,不需要更改war文件,只需确保新类位于应用程序的类路径中。

票数 0
EN

Stack Overflow用户

发布于 2016-10-17 22:16:32

Activiti只是一个jar,社区已经提供了很多API来解决这个问题。但是你可以使用Spring来编写你自己的关于activiti的逻辑。基本上,它使用DB来处理/传输状态,这是任何其他工作流都会做的。因此,首先提供一个DB,并在其中填充必要模式/表。接下来选择你的UI (我强烈推荐AngularJS是目前最常用的框架之一)。将您的架构定义为您的UI将如何与Activiti交互。当心,这将花费很多时间,

票数 0
EN

Stack Overflow用户

发布于 2016-10-22 04:28:20

兰加洛

下面是一个示例Rest端点。

代码语言:javascript
复制
package com.bp3.tupac.rest;

import com.bp3.tupac.service.ServiceException;
import com.bp3.tupac.service.InfoService;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping(value = "/tupac")
public class VersionRestController {

    /**
     * @return Some stuff
     * @throws ServiceException
     */
    @RequestMapping(value = "/info",
        produces = MediaType.APPLICATION_JSON_VALUE,
        method = RequestMethod.GET
    )
    public InfoService.Info getTupacInfo() throws ServiceException {
        try {
            return new InfoService().getTupacInfo();
        } catch (Exception e) {
            throw new ServiceException("Failure getting Tupac info....dog", e);
        }
    }
}

现在,您需要确保您的应用程序配置已设置为在组件扫描中包含此包。为此,将包添加到DispatcherServletConfiguration类中的component scan指令。

代码语言:javascript
复制
@Configuration
@ComponentScan(existing packages, "com.bp3.tupac.rest"})

之后,您应该能够调用路径:http://host:port/context/tupac/info

找出是谁杀了图帕克。

希望这能有所帮助。格雷格

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39993464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档