我有一个返回一组值的 api 端点。我想将这些值用作决策表中输入字段的预定义值的来源。
到目前为止,我只能看到将这些值作为静态值添加到 Modeler 中的可能性。检查了 camunda 文档,找不到与此要求相关的任何内容。
我有一个返回一组值的 api 端点。我想将这些值用作决策表中输入字段的预定义值的来源。
到目前为止,我只能看到将这些值作为静态值添加到 Modeler 中的可能性。检查了 camunda 文档,找不到与此要求相关的任何内容。
您有几个不同的选项可以从外部源中提取值以用于决策表。出于此响应的目的,我假设您的外部源是 REST API 端点。以下是这些选项:
我知道那里有很多;如果其中任何一个听起来很陌生,请查看https://docs.camunda.org上的 Camunda 文档。
让我暂时关注上面的#2并给你一个具体的例子......如果你选择了这条路线,你的决策文字表达式中可能有以下代码:
//Get access to the Connectors and Spin Objects.
var Connectors = Java.type('org.camunda.connect.Connectors');
var Spin = Java.type('org.camunda.spin.Spin');
//Create an instance of the HTTP Connector and make the request.
var httpConnector = Connectors.http();
var resp = httpConnector.createRequest()
.post()
.url('http://localhost:1027/creditscore')
.contentType('application/json')
.payload('{"ssn":\"' + ssn + '\"}')
.execute()
.getResponse();
//Retrieve the credit score from the response.
var creditScore = Spin.JSON(resp).prop('creditScore').numberValue();
//Return the credit score, setting it to the variable name specified here.
creditScore;
在该示例中,我将变量名称设置为“creditScore”,变量类型设置为“long”,表达式语言设置为“javascript”。它需要一个变量作为输入,即“ssn”。您将能够在依赖于 DRD 中该决策文字表达式的任何决策表中使用该变量“creditScore”。