46.10. 使用批准
所有属性的名称与前缀为 approval 的 Salesforce REST API 中的名称完全相同。
您可以通过设置 Endpoint 的 approval.PropertyName
来设置批准属性,这些属性将用作 templateDAEMON-rhacmmean,正文或标头中不存在的任何属性都将从 Endpoint 配置中获取。或者,您可以通过将 批准
属性分配给对 Registry 中的 Bean 的引用,在 Endpoint 上设置批准策略。
您还可以使用传入消息标头中相同的 approval.PropertyName
提供标头值。
最后,正文可以包含一个 AprovalRequest
或 ApprovalRequest 对象的 Iterable
of ApprovalRequest
,以便作为批处理处理。
请记住的一个重要事项是以下三种机制中指定的值的优先级:
- 正文中的值在任何其他值之前优先
- 消息标头中的值在模板值之前具有优先权
- 如果给出了标头或正文中没有其他值,则会设置模板中的值
例如,要使用标头中的值发送一个记录进行批准:
给定路由:
您可以使用以下方法发送记录进行批准:
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);
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);