POST /flows
转载内容 如有侵权 或 不希望被转载 可以留言或私发告诉我,我会及时处理,尊重你的权利。
原文地址[https://nodered.org/docs/api/admin/methods/post/flows/]
Set the active flow configuration.
需要权限:flows.write
Headers
标题 | 价值 |
---|---|
Authorization | Bearer [token] - 如果启用了身份验证 |
Content-type | application/json |
Node-RED-API-Version | (自 0.15.0 起)正在使用的 api 版本。v1 如果未设置,则默认为。 |
Node-RED-Deployment-Type | full , nodes ,flows 或reload |
标Node-RED-Deployment-Type
头用于定义执行的部署类型。
full
- 在新配置开始之前,所有现有节点都已停止。如果未提供标头,这是默认行为。nodes
- 在应用新配置之前,仅停止已修改的节点。flows
- 在应用新配置之前,仅停止包含修改节点的流。reload
- 从存储中重新加载流并重新启动所有节点(从 Node-RED 0.12.2 开始)
Arguments
请求正文的格式将取决于所使用的 Node-RED API 版本:
v1
- 节点对象数组
[
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1"
}
]
v2
- 流响应对象
该rev
属性(如果提供)应反映由 返回的流的修订GET /flows
。
{
"rev": "abc-123",
"flows": [
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1"
}
]
}
设置节点凭据
有两种方法可以通过此请求提供凭据。数组中的各个节点对象flows
可以包含一个credentials
属性,该属性包含该节点的凭据。
或者,顶级对象可以包括一个credentials
属性,该属性具有各个节点的凭据,或者一个完整的加密集。
内联节点凭据:
{
"rev": "abc-123",
"flows": [
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1",
"credentials": {
"user": "my-username",
"pass": "my-password"
}
}
]
}
单独的节点凭据:
{
"rev": "abc-123",
"flows": [
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1"
}
],
"credentials": {
"396c2376.c693dc": {
"user": "my-username",
"pass": "my-password"
}
}
}
加密节点凭据:
{
"rev": "abc-123",
"flows": [
{
"type": "tab",
"id": "396c2376.c693dc",
"label": "Sheet 1"
}
],
"credentials": {
"$": "beea417990012379ca6d4116bd1fda5bOWbwy7UnQvccxAEH1V1pSEETTfSNerYGvP4Aai6RT/DNpnjCCP/fdzildzlJhFjYcRKdO1Q="
}
}
}
Response
状态码 | 原因 | 回复 |
---|---|---|
200 | v2 成功 | rev 活动流的新特性。见下文。 |
204 | v1 成功 | 没有任何 |
400 | API 版本无效 | 错误响应 |
401 | 未经授权 | 没有任何 |
409 | 版本不匹配 | 错误响应。见下文。 |
如果v1
正在使用 API,则成功的请求不包含响应正文。
如果v2
正在使用 API,则请求应包括rev
设置为rev
请求者已知的最新值的属性。如果此值与rev
运行时中活动流的值匹配,则请求将成功。
如果不匹配,这表明运行时正在使用更新版本的流,并且请求被拒绝并带有409
状态代码。这允许请求者解决任何差异并重新提交请求。
如果请求者希望强制部署,rev
则应从请求中省略该属性。
请求成功时,响应会提供新rev
值:
{
"rev": "def-456",
}
注意:该rev
属性是一个字符串,但不应对其格式做出其他假设。