如何通过 InvokeHttp NiFi 发送 multipart/form-data
how to send multipart/form-data via InvokeHttp NiFi
我有一个第 3 方 REST,我可以使用 CURL 成功调用它 (shell)。这个APIreturnJSON。我尝试通过将内容类型更改为 application/x-www-form-urlencoded
来调用相同的 API,但它不起作用。我想我被迫使用 content-type: multipart/form-data
curl --request POST --url https://************************* --header 'Authorization: Bearer ********' --header 'content-type: multipart/form-data; ' --form cluster_id=0717-035521-puny598 --form start_time=1534357800000 --form end_time=1534444199999 --form order=ASC --form limit=500
现在我想使用 InvokeHTTP 处理器 (NiFi) 调用相同的 API。所以我配置如下。但是我无法成功拨打电话。 (这不是代理问题)。
以下是我如何创建 POST 正文(通过 FF)
我已经尝试用 \r\n 等替换 "enter",或者将正文更改为 name1=val1&name2=val2&....
等,但没有任何效果。
这是我得到的回复。
[
我能够 运行 CURL(shell,来自 Nifi 运行ning 所在的同一台服务器)。我也可以通过邮递员访问url。
[
终于成功了。流程有点像这样
GenerateFlowFile->UpdateAttribute->AttributesToJSON->InvokeHTTP
唯一的改变,我对InvokeHTTP做了。将内容类型恢复为 ${mime.type}.
我为此苦苦挣扎了几个小时。我有一个后端 API
ResponseEntity<ByteArrayResource> post (@RequestPart("file") MultipartFile file)
和一个向其发送 XLSX 数据的 NiFi 处理器。我遇到了同样的问题...对我来说关键是底部的两个属性:
FlowFile 表单数据名称 -> 文件(这是 API 调用中的变量名称)
设置 Flowfile 表单数据文件名 -> true
我有一个第 3 方 REST,我可以使用 CURL 成功调用它 (shell)。这个APIreturnJSON。我尝试通过将内容类型更改为 application/x-www-form-urlencoded
来调用相同的 API,但它不起作用。我想我被迫使用 content-type: multipart/form-data
curl --request POST --url https://************************* --header 'Authorization: Bearer ********' --header 'content-type: multipart/form-data; ' --form cluster_id=0717-035521-puny598 --form start_time=1534357800000 --form end_time=1534444199999 --form order=ASC --form limit=500
现在我想使用 InvokeHTTP 处理器 (NiFi) 调用相同的 API。所以我配置如下。但是我无法成功拨打电话。 (这不是代理问题)。
以下是我如何创建 POST 正文(通过 FF)
我已经尝试用 \r\n 等替换 "enter",或者将正文更改为 name1=val1&name2=val2&....
等,但没有任何效果。
这是我得到的回复。
[
我能够 运行 CURL(shell,来自 Nifi 运行ning 所在的同一台服务器)。我也可以通过邮递员访问url。
[
终于成功了。流程有点像这样
GenerateFlowFile->UpdateAttribute->AttributesToJSON->InvokeHTTP
唯一的改变,我对InvokeHTTP做了。将内容类型恢复为 ${mime.type}.
我为此苦苦挣扎了几个小时。我有一个后端 API
ResponseEntity<ByteArrayResource> post (@RequestPart("file") MultipartFile file)
和一个向其发送 XLSX 数据的 NiFi 处理器。我遇到了同样的问题...对我来说关键是底部的两个属性:
FlowFile 表单数据名称 -> 文件(这是 API 调用中的变量名称)
设置 Flowfile 表单数据文件名 -> true