Apache nifi apachenifi使用GET发送消息体

Apache nifi apachenifi使用GET发送消息体,apache-nifi,Apache Nifi,我正在处理一个API web服务,该服务需要GET方法上的消息体来获得结果。在ApacheNIFI上,我使用了InvokeHTTPProcessor(主要是POST),但在这种情况下,Nifi没有在GET方法上发送消息体(或者根据其文档,删除)。有办法吗?使用ExecuteGroovyScript @Grab(group='acme.groovy',module='acmehttp',version='20.04.27',transitive=false) 导入groovyx.acme.net.

我正在处理一个API web服务,该服务需要GET方法上的消息体来获得结果。在ApacheNIFI上,我使用了InvokeHTTPProcessor(主要是POST),但在这种情况下,Nifi没有在GET方法上发送消息体(或者根据其文档,删除)。有办法吗?

使用ExecuteGroovyScript

@Grab(group='acme.groovy',module='acmehttp',version='20.04.27',transitive=false)
导入groovyx.acme.net.AcmeHTTP
def ff=session.get()
如果(!ff)返回
def http
ff.写{ffIn,ffOut->
http=AcmeHTTP.get(
url:“https://httpbin.org/post“,//基本url
查询:[aaa:“你好”,bbb:“世界!”],//查询参数
//以正文形式发送流文件内容(流)
机构名称:ffIn,
标题:[
//从flowfile`mime.type`属性分配内容类型
“内容类型”:ff.“mime.type”
],
//将url响应流传输到flowfile流的接收器
接收方:{respStream,ctx->ffOut ff['http.header.+k]=v}
//状态代码和消息作为属性
ff.'http.status.code'=http.response.code
ff.'http.status.message'=http.response.message
//走向成功

REL_SUCCESS不幸的是InvokeHTTP不支持body for GET方法。你可以通过脚本来实现它。@daggett tnx。你有一个样本吗?用任何语言编写的。我试过你的样本,它是有效的。但在我的情况下,它不起作用。我仔细研究了这个问题,我发现这个脚本会发生这种情况:http.method POST(在nifi flow属性中).这个职位必须得到。