If/ElseIf/Else
As ações If/ElseIf/Else executarão ações se uma condição for satisfeita.
As ações If/ElseIf/Else executam ações aninhadas baseadas em uma ou mais condições mutuamente exclusivas:
- As condições "If" são sempre verificadas.
- As condições "ElseIf" serão verificadas apenas se todas as condições "If" e "ElseIf" anteriores não tiverem sido satisfeitas.
- As ações "Else" não têm nenhuma condição; se nenhuma das condições "If" ou "ElseIf" anteriores foram satisfeitas, as ações "Else" serão executadas automaticamente.
A tabela a seguir mostra os parâmetros para a ação If.
| Nome | Tipo de dados | Necessário | Notas |
|---|---|---|---|
| condition | JPath | Sim | A condição a ser avaliada. Não pode ficar vazio. |
| ações | Actions[] | Sim | A sequência das ações a serem executadas se a condição for verdadeira. Não pode ficar vazio. |
A tabela a seguir mostra os parâmetros para a ação ElseIf.
| Nome | Tipo de dados | Necessário | Notas |
|---|---|---|---|
| condition | JPath | Sim | A condição a ser avaliada. Não pode ficar vazio. |
| ações | Actions[] | Sim | A sequência das ações a serem executadas se a condição for verdadeira. Não pode ficar vazio. |
A tabela a seguir mostra os parâmetros para a ação Else.
| Nome | Tipo de dados | Necessário | Notas |
|---|---|---|---|
| ações | Actions[] | Sim | A sequência das ações a serem executadas se nenhuma das condições "If" ou "ElseIf" anteriores forem verdadeiras. Não pode ficar vazio. |
Exemplo de XML
Neste exemplo, as ações a seguir são executadas:
- Se o valor de Estado no local /status for 200, apenas a ação SetStatus que configura o status para uma mensagem INFO "Success" será executada.
- Se o valor /status for 401, apenas a ação SetStatus que configura o status para uma mensagem ERROR "Authentication Failure" será executada.
- Se o valor /status for 404, apenas a ação SetStatus que configura o status para uma mensagem ERROR "No Route Exists" será executada.
- Se o valor /status for qualquer outra coisa, apenas a ação SetStatus final será executada.
<If condition="/status = 200">
<SetStatus type="INFO" message="Success." />
</If>
<ElseIf condition="/status = 401">
<SetStatus type="ERROR" message="Authentication Failure." />
</ElseIf>
<ElseIf condition="/status = 404">
<SetStatus type="ERROR" message="No Route Exists." />
</ElseIf>
<Else>
<SetStatus type="ERROR" message="An unknown error (${/status}) has occurred." />
</Else>