If/ElseIf/Else

If/ElseIf/Else 조치는 조건이 충족되면 조치를 실행합니다.

If/ElseIf/Else 조치는 하나 이상의 상호 배타적 조건에 따라 중첩된 조치를 실행합니다.

  • "If" 조건은 항상 검사됩니다.
  • "ElseIf" 조건은 모든 선행 "If" 및 "ElseIf" 조건이 충족되지 않은 경우에만 확인됩니다.
  • "Else" 조치에는 조건이 없습니다. 앞의 "If" 또는 "ElseIf" 조건이 충족되지 않은 경우 "Else" 조치가 자동으로 실행됩니다.

다음 표는 If 조치의 매개변수를 표시합니다.

표 1. If 조치 매개변수
이름 데이터 유형 필수 노트
조건 JPath 평가할 조건입니다. 비어 있을 수 없습니다.
조치 조치 [] 조건이 true인 경우 실행할 조치의 시퀀스입니다. 비어 있을 수 없습니다.

다음 표는 ElseIf 조치의 매개변수를 표시합니다.

표 2. ElseIf 조치 매개변수
이름 데이터 유형 필수 노트
조건 JPath 평가할 조건입니다. 비어 있을 수 없습니다.
조치 조치 [] 조건이 true인 경우 실행할 조치의 시퀀스입니다. 비어 있을 수 없습니다.

다음 표는 Else 조치의 매개변수를 표시합니다.

표 3. Else 조치 매개변수
이름 데이터 유형 필수 노트
조치 조치 [] 앞의 "If" 또는 "ElseIf" 조건 중 어느 것도 true가 아닌 경우 실행할 조치의 시퀀스입니다. 비어 있을 수 없습니다.

XML 예제

이 예제에서는 다음 조치가 수행됩니다.

  • /status 위치의 상태 값이 200인 경우 상태를 INFO "Success" 메시지로 설정하는 SetStatus 조치만 실행됩니다.
  • /status 값이 401인 경우 상태를 ERROR "인증 실패" 메시지로 설정하는 SetStatus 조치만 실행됩니다.
  • /status 값이 404인 경우 상태를 ERROR "No Route Exists" 메시지로 설정하는 SetStatus 조치만 실행됩니다.
  • /status 값이 다른 값인 경우 최종 SetStatus 조치만 실행됩니다.
<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>