Skip to main content

获取网络资源

此节点用于访问网络地址获取网络资源,主要用于访问外部API,它支持 JSON 格式的请求内容。

通过向 获取数据 输入发送 信号 来启动请求。节点的任何输入和输出都在编辑器中通过 InputsOutputs 对象进行获取。

请求和响应脚本

网络资源获取 节点使用类似 脚本 节点,使用 Script语法 来准备请求和解析响应。

前缀为 InputsOutputs 的任何变量都将作为节点的 输入输出 属性。因此,您可以在请求脚本中使用这些输入来准备 获取数据 调用,并在响应脚本中使用 Outputs 来将响应解析为输出。

请求

第一个脚本用于在将请求发送到REST端点之前准备请求。 Inputs 对象包含在节点的输入信息。Request 对象包含请求的详细信息,如有必要可进行调整。

  • resource(资源) -包含请求的资源,即请求的URL。
  • method(方法) -包含请求的方法,例如GET、POST等。
  • headers(头部) -这是一个包含请求的所有标头的映射,在函数中添加或删除标头。
  • parameters(参数) -这是一个映射,包含将附加到函数中请求、添加或删除的URL的所有参数。
  • content(内容) -包含请求的内容,当发出请求时,内容将被编码为JSON。

下面的示例将为 节点 创建两个输入 ImportantHeaderSendMe,您可以从你的组件中,使用 其他节点 连接到此 节点。它修改请求的标头和内容。

Request.headers["some-important-header"] = Inputs.ImportantHeader;
Request.content = {
"send-me": Inputs.SendMe,
};

当请求完成并且返回响应时,将调用相应的响应函数。

响应

在响应函数中,您可以解析响应,并使用 Outputs 对象映射设置网络资源获取节点的输出 作为 Response 函数的参数提供。在函数中,您还可以访问一个名为 Response 的对象,该对象包含以下内容。

  • Response.status -响应的状态代码,例如200\301\304\500等。
  • Response.content -响应的内容。
  • Response.request -它包含上面用于发出请求的 请求 函数中的请求对象。

获取网络资源 节点查看 Content-Type 标头,以确定如何解析来自服务器的响应。如果类型是JSON,它将使用 JSON.parse,对于XML,它将把它转换为JavaScript对象。

数组例子

以下示例假设响应内容是一个对象数组。 它被转换为带有 CIDE对象CIDE数组,并将其发送到输出 项目

响应内容示例:

[
{
"MyValue": 1
},
{
"MyValue": 2
}
]

Script:

Outputs.Items = Response.content.map((o) => CIDE.Object.create(o));

项目 现在是一个可以发送到 迭代器 或在另一个节点中使用的数组。

对象例子

以下示例假设响应内容是一个对象。

它将对象转换为CIDE对象,并将其发送到输出 项目

响应内容示例:

{
"title": "my title",
"description": "my cool description"
}

脚本:

Outputs.Item = CIDE.Object.create(Response.content);

我们也可以立即调用 Response.content.description 来提取某些属性。

输入

信号描述
获取将信号连接到此输入以触发请求。
取消向该输入发送信号以取消正在进行的请求。
数据描述
资源这是 获取数据 请求将使用的资源端点,即url。
方法这是将用于请求的方法。支持的方法有GET、PUT、POST、PATCH和DELETE。
请求在这里您可以编辑请求脚本。
响应在这里您可以编辑响应脚本。

请求和响应的输入

您在scrips中访问的 Inputs 对象的任何变量都将自动成为节点的输入。

输出

信号描述
成功如果请求接收到成功的状态代码(2XX),则此输出上将发出一个信号。
失败如果发生其他类型的故障,所有其他状态代码的输出上将发出信号。
已取消如果请求被取消,将在该输出上发出一个信号。

请求和响应的输出

您在scrips中访问的 输出 对象的任何变量都将自动成为节点的输出。