HTTP 连接器概述
  • 31 Oct 2023
  • 1 分钟阅读
  • 贡献者

HTTP 连接器概述


Article Summary

本指南将帮助您了解 HTTP 连接器的全部功能。

如果要将 MES 或 ERP 等外部系统连接到 Tulip,则需要使用 HTTP 连接器。Tulip 的 HTTP 连接器可以连接大多数类型的 HTTP API,包括 REST 和 SOAP。

想了解如何构建 HTTP 连接器?参加HTTP 连接器大学课程

了解连接器函数

在 HTTP 连接器中,您可以编写一系列连接器函数,使用预定义输入运行常见类型的 HTTP 请求。连接器函数是调用 API 的单个操作。Tulip HTTP 连接器函数支持以下方法:

  • GET
  • POST
  • PUT
  • 修补
  • 删除

并修改以下字段:

  • 主机名、端口和路径
  • 身份验证(无、Basic Auth、OAuth 2)
  • 请求头
  • 查询参数
  • 请求正文(JSON、表单 URL-编码、XML 或纯文本)

:::(Info) (注)该选择将影响 Content-Type 标头。例如,如果要使用纯文本选项发送 JSON,则必须在标头中手动硬编码 Content-Type 为 "application/json":

然后可以对响应进行处理,并从中提取信息:

  • 响应标头
  • 响应主体(使用 json-query 的 JSON 或使用 xpath 的 XML)

HTTP 连接器在输出中支持以下数据类型:

  • 文本
  • 整数
  • 浮点数
  • 布尔型
  • 数据时间
  • 包含上述所有数据类型的对象
  • 包含上述所有数据类型的数组

*日期时间解析支持

  • 以毫秒为单位的 OData 时间戳,自 1970 年 1 月 1 日(世界协调时)起
  • 解释为自 1970 年 1 月 1 日(世界协调时)起毫秒的数字
  • ISO 8601 日期字符串

创建连接器

单击 "连接器 "页面右上方的 "添加连接器",然后为连接器命名并选择HTTP

An Overview of HTTP Connectors_122139734.png

然后,你会看到**Environment**标签。如果你想设置多个环境,请参阅本独立指南

An Overview of HTTP Connectors_122140278.png

选择连接器后,选择 "添加连接细节"(Add Connection Details),添加要查询的服务器的更多细节。

An Overview of HTTP Connectors_122140947.png

共有 5 个选项。

An Overview of HTTP Connectors_122141109.png

请参阅本指南中关于连接器主机的内容。

**主机:**只包含要查询的域。请勿包含 http:// 或 https:// 例如:myaccount.restlet.api.netsuite.com

**端口:**这应由您要查询的服务指定。HTTP 请求通常使用端口 443。

**TLS:**如果使用 HTTPS,请选择 "是";如果仅使用 "HTTP",请选择 "否"。

单击 "测试"查看是否能成功连接到服务器,然后单击 "保存"。

要复制或删除连接器,请返回连接器页面,然后单击特定连接器右侧的三个点。

An Overview of HTTP Connectors_122140669.png

创建连接器功能

单击 "功能 "选项卡上的 "添加新功能"按钮创建新功能

An Overview of HTTP Connectors_122141271.png

然后,你会看到一系列编辑函数的选项。

首先,在页面左上方为函数命名。

然后,单击添加功能输入,开始添加输入。举例说明:

如果要测试 HTTP 连接器函数,请为每个输入添加一个 "测试值"。

然后,在 URL 末尾添加一个端点,并选择 HTTP 请求类型。

选择查询参数,开始添加键/值对。在字段中使用已定义的输入。

在输入名称前后添加 $,例如,如果输入名称是 "city_name",则键入$city_name$

处理回复

对输入和输出感到满意后,选择右上角的 "测试"以创建响应示例。

您将在测试结果部分看到一个 JSON 或 XML 响应。现在,您可以将此响应的部分内容映射到 "输出",然后在应用程序中使用它们。

JSON 提取器使用json-query 语法。要测试语法,请使用此在线工具

XML 提取器使用XPATH 语法

有两种方法可以做到这一点:

  1. 点击响应正文中的属性,将它们映射到输出中
  2. 使用 json-query 手动指定路径

下面是使用点击来指定提取器的方法:

如果要使用 json-query,请添加一些输出,以便将响应内容映射到 Tulip。

接下来,你需要在每个输出旁指定 "提取器",以表明你想从响应正文中存储的数据。

下面是一个使用 json-query 的示例:假设你写了一个 GET 请求,返回一个对象数组。您希望返回数组中第一个对象的name属性值。

您可以在路径字段中这样写

0.name

您还可以从响应的标题Cookie部分存储值。

与上述部分类似,您必须在 "输出"部分指定特定的输出。然后,点击示例响应的一部分或使用 json-query 从 HTTP 响应的 JSON 中访问正确的属性。

下面是一个例子,其中名为 "csrf_token "的输出存储了标头中名为 "x-csrf-token "的属性值。

在与应用程序共享输出时,输出会被存储为对象的属性。然后,您必须将该对象存储到应用程序的变量中。有关详细信息,请参阅本指南,了解如何在应用程序中使用连接器输出

使用 RegEx 修改输出

您还可以使用 RegEx 完善响应中的文本值。为此,请在路径字段中添加以下函数之一,通过正则表达式传递值:

:regexp()

要捕获字符串中的多个子串

:regexpGroup()

示例

0.name:regexp(^N) 0.name:regexpGroup(^\w + (w+))

使用 RegEx group,您可能希望在一个较大的字符串中捕获一个组。为此,请在 RegEx 字符串末尾添加逗号,并在字符串中添加特定组的编号。

parts[0].inputs:regexpGroup(^\w\s(\w\w)\s(\w\w)\s(\w\w),2)

或者,用它来选择数组中符合规则的特定项目。例如,第一个电子邮件值以 n 开头的对象。

.[电子邮件:regexp(^N)]

我们推荐使用RegExr测试您的 RegEx。Tulip 使用 JavaScript (ECMA) RegEx 引擎。

在输出中处理对象和数组

Tulip 在 JSON 输出中支持对象和数组。下面分别介绍如何使用:

对象

要将 JSON 输出格式化为对象,首先要在 "输出"部分创建一个对象,然后指明提取器。

在上面的示例中,对象名为 "singleObj"。JSON 输出是一个对象数组,因此它会选择索引为 0 的对象。

然后,开始添加与要存储的每个键/值对相对应的输出。您可以使用**+**按钮添加键/值对。

在上面的示例中,singleObj 对象中有两个字段:

  1. userID,引用 userID 属性,是一个整数
  2. id,引用 id 属性,是一个整数

在这种情况下,提取器不需要以 "0. "开头,因为它会自动引用索引为 0 的对象。

下面是 JSON 输出的样子,以供参考:

对象数组

要返回对象数组,请在 "输出 "部分选择 "值列表",然后选择 "对象"。

您可能需要在 JSON 输出的根层级返回整个数组。

为此,请为提取器输入".":

然后,像上面的对象提取器一样,开始添加要发送到应用程序的各个属性。

这将返回数组中每个对象的 userId 和 id。您可以在测试结果的 "输出 "部分检查您的工作:

一种数据类型的数组

假设您想从返回值数组中的每个对象获取一个布尔值。

为此,请为布尔数组创建一个输出。然后,指出用于在每个对象中存储布尔值的属性。

在上面的示例中,输出名为 "completed",它包括数组中每个 "completed "属性的值,正如提取器所指出的那样。

下面是输出结果:

过去的集成

Tulip 可以与各种软件系统集成。以下是过去与 Tulip 集成的一些系统示例:

更多阅读


找到您想要的了吗?

您还可以前往community.tulip.co发布您的问题,或查看其他人是否遇到过类似问题!


本文对您有帮助吗?