我想創建一些新的REST資源。例如列出工作流程中所有下一個可能的任務。Actiiviti業務流程引擎:擴展REST api
我想創建自己的戰爭,可以部署在Glassfish 4.(payara)。
我需要些什麼?我如何創建新的端點網址?
我想創建一些新的REST資源。例如列出工作流程中所有下一個可能的任務。Actiiviti業務流程引擎:擴展REST api
我想創建自己的戰爭,可以部署在Glassfish 4.(payara)。
我需要些什麼?我如何創建新的端點網址?
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文件,只需確保新類位於應用程序的類路徑中即可。
Activiti只是一個jar而社區已經提供了很多API來解決它。但你可以使用Spring在activiti上編寫自己的邏輯。基本上它使用DB來處理/傳輸任何其他工作流將執行的狀態。所以首先提供一個數據庫並在其中填充必要的模式/表格。接下來選擇您的用戶界面(我強烈建議AngularJS是最近使用最多的框架之一)。將您的架構定義爲您的用戶界面將如何與Activiti進行交互。要注意,它會採取大量的時間
Rangalo,
下面是一個示例REST端點爲您服務。
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類中的組件掃描指令中。
@Configuration
@ComponentScan(existing packages, "com.bp3.tupac.rest"})
之後,你應該能夠調用路徑:http://host:port/context/tupac/info
,並找出是誰殺圖帕克。
希望這會有所幫助。 Greg
這意味着我可以在與activitii源相同的包下創建一個類包,並將其放置在其餘的戰爭和部署中。 – rangalo
我的資源也會像普通活動資源一樣受到保護嗎? – rangalo
您的Rest端點受到SecurityConfiguration類中的配置的保護。您可以從此配置類中管理任何Rest端點的保護級別。 –