2016-10-12 9 views
1

Я хочу создать новые ресурсы REST. Например, чтобы перечислить все следующие возможные задачи в рабочем потоке.Механизм бизнес-процесса Actiiviti: расширение REST api

Я хочу создать свою собственную войну, которая может быть развернута в Glassfish 4. (payara).

Что мне нужно? Как я могу создать новые URL-адреса конечных точек?

ответ

0

Приложение REST Activiti написано с использованием 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 в тот же пакет, у вас есть настраиваемая конечная точка, где вы можете реализовать то, что хотите.

Для этого нет необходимости изменять файл войны, вам просто нужно убедиться, что новый класс находится в пути к классам приложения.

+0

Это означает, что я могу создать пакет jar с классом в том же пакете, что и источник activitii, и поместить его в оставшуюся войну и развернуть. – rangalo

+0

Будет ли мой ресурс также защищен как общие ресурсы activiti? – rangalo

+0

Конечные точки отдыха защищены конфигурацией класса SecurityConfiguration. Вы можете управлять уровнем защиты для любой конечной точки останова из этого класса конфигурации. –

0

Activiti - это просто банка, и сообщество предоставило много API-интерфейсов, чтобы обойти его. но вы можете использовать Spring, чтобы написать свою собственную логику вокруг activiti. в основном он использует БД для обработки/передачи состояния, которое будет выполнять любой другой рабочий процесс. поэтому сначала предоставляем БД и заполняем необходимые схемы/таблицы. затем выберите свой пользовательский интерфейс (я бы настоятельно рекомендовал AngularJS быть одним из самых используемых фреймворков в наши дни). определите свою архитектуру как ваш пользовательский интерфейс будет взаимодействовать с Activiti. берегитесь, он собирается занять много времени

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^