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