HTTP métodos suportados pelas APIs REST do processo

Os métodos HTTP fornecem as operações, como criar, ler, atualizar e excluir, que podem ser executadas nos artefatos.
Os seguintes métodos HTTP são suportados:
Tabela 1. os métodos HTTP
Método HTTP Descrição
POST Cria um novo recurso.
GET Recupera um recurso.
PUT Atualiza um recurso existente.
DELETE Exclui um recurso.
O exemplo a seguir mostra como usar curl para enviar uma solicitação POST com um corpo JSON.
curl --location 'https://localhost:9443/ops/system/login' \
--user 'user:password' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
  "refresh_groups": true,
  "requested_lifetime": 7200
}'

O método GET é um método seguro porque o estado do recurso permanece inalterado por essa operação.

Importante: as APIs de REST relatam fusos horários no formato Hora Universal Coordenada (UTC)
Se você deseja que seu aplicativo exiba a data ou hora (ou ambos) em um fuso horário diferente, você pode obter uma instância de java.text.DateFormat, configurar o TimeZone desejado nele e, em seguida, fazer uma chamada para format, passando o objeto Date que deseja exibir. O fragmento de código a seguir usa o fuso horário padrão no qual o aplicativo está sendo executado:
// Assuming that "dateFromREST" is a java.util.Date object
DateFormat df = DateFormat.getDateTimeInstance();
TimeZone tz = TimeZone.getDefault();
df.setTimeZone(tz);
String formattedDate = df.format(dateFromREST);
// formattedDate has the date you want to show to the user.

Considerações de segurança

Ao usar métodos de HTTP, considere os aspectos de segurança a seguir:

  • Alguns firewalls não permitem que HTTP PUT ou DELETE o tráfego através do firewall por causa das considerações de segurança. Para acomodar essa restrição, é possível incluir essas solicitações de uma das maneiras a seguir:
    • Use os campos de cabeçalho HTTP X-Method-Override ou X-HTTP-Method-Override para encapsular uma solicitação PUT ou DELETE por meio de uma solicitação POST.
    • Se a solicitação for de um recurso relacionado ao processo, você poderá usar os parâmetros de URI x-method-override ou x-http-method-override . Por exemplo:
      POST /rest/bpm/htm/v1/task?...&x-method-override=PUT
  • Você pode usar alguns dos métodos do site HTTP para os recursos relacionados ao processo para avaliar as expressões do site JavaScript. Devido a considerações de segurança, o suporte Javascript não é ativado por padrão. Para ativar o suporte JavaScript, configure a propriedade associada no arquivo 100Custom.xml para o servidor de processo:
    <properties>
      <common>
        <enable-javascript-execution>true</enable-javascript-execution>
      </common>
    </properties> 

Considerações comprimento da URI para pedidos da API REST

Em algumas situações, o comprimento de um URI de pedido de API REST pode exceder o comprimento da URI suportada, por exemplo, devido a restrições do navegador, ou o número e comprimento de parâmetros de consulta no URI do pedido.
Como uma solução alternativa, você pode tunnel seu pedido através de um POST pedido que usa o application/x-www-form-urlencoded tipo de conteúdo. Para explorar a solução alternativa, construa o pedido da API REST da seguinte maneira:
  1. Utilize o método POST no pedido de HTTP.
  2. Configure o X-HTTP-Method-Override do cabeçalho HTTP para o método destinado a partir de seu pedido original. Por exemplo, se você pretendia seu pedido original para ser uma PUT pedido, em seguida, configure o valor deste cabeçalho para PUT.
  3. Configure o valor do cabeçalho HTTP Content-Type para application/x-www-form-urlencoded.
  4. Inclua todos os parâmetros de pedido a partir de seu pedido original sequência de consultas da URI para o corpo do pedido de HTTP.
Por exemplo, você precisa chamar a API REST a seguir para configurar algumas variáveis de saída para terminar uma instância de tarefa, mas o URI do pedido é muito longo:
PUT http://host1.company.com:9080/rest/bpm/wle/v1/task/3?action=finish&params={"orderNumber":"5","customerName":{"firstName":"John","lastName":"Doe"}}
Headers:
  Accept application/json
A solicitação HTTP a seguir mostra como chamar a mesma API usando o tipo de conteúdo application/x-www-form-urlencoded:
POST http://host1.company.com:9080/rest/bpm/wle/v1/task/3
Headers
  Accept application/json
  Content-Type: application/x-www-form-urlencoded
  X-Method-Override:  PUT
Request Body:
  action=finish&params={"orderNumber":"5","customerName":{"firstName":"John","lastName":"Doe"}}