288.9. 승인 작업
모든 속성의 이름은 승인 접두사가 지정된 FlexVolume REST API에서와 정확히 동일합니다. .
승인 속성을 설정할 수 있습니다. approval.PropertyName
of the Endpoint 이러한 값은 본문 또는 헤더 중 하나에 존재하지 않는 모든 속성을 Endpoint 구성에서 가져온 template Themeaning으로 사용합니다. 또는 레지스트리의 DestinationRule에 대한 참조에 승인
속성을 할당하여 끝점에서 승인 템플릿을 설정할 수 있습니다.
들어오는 메시지 헤더에서 동일한 approval.PropertyName
을 사용하여 헤더 값을 제공할 수도 있습니다.
마지막으로 본문에는 하나의 AprovalRequest
또는 Iterable
of ApprovalRequest
오브젝트를 일괄 처리로 포함할 수 있습니다.
고려해야 할 중요한 사항은 다음 세 가지 메커니즘에 지정된 값의 우선 순위입니다.
- 본문의 값이 다른 값보다 먼저 우선합니다.
- 메시지 헤더의 값이 템플릿 값보다 우선합니다.
- 헤더 또는 본문에 다른 값이 지정되지 않은 경우 템플릿의 값이 설정됩니다.
예를 들어 헤더의 값을 사용하여 승인을 위해 하나의 레코드를 보내려면 다음을 사용합니다.
경로가 지정되면 다음을 수행합니다.
from("direct:example1")// .setHeader("approval.ContextId", simple("${body['contextId']}")) .setHeader("approval.NextApproverIds", simple("${body['nextApproverIds']}")) .to("salesforce:approval?"// + "approvalActionType=Submit"// + "&approvalComments=this is a test"// + "&approvalProcessDefinitionNameOrId=Test_Account_Process"// + "&approvalSkipEntryCriteria=true");
다음을 사용하여 승인을 위해 레코드를 보낼 수 있습니다.
final Map<String, String> body = new HashMap<>(); body.put("contextId", accountIds.iterator().next()); body.put("nextApproverIds", userId); final ApprovalResult result = template.requestBody("direct:example1", body, ApprovalResult.class);