Post httpbuilder ng尝试发布时没有方法multipart()的签名
我几乎完全按照HttpBuilder NG示例中所列的方式实现了这段代码,但它对我来说不起作用。由于某些原因,它不能将multipart识别为方法。来自图书馆创作者的例子Post httpbuilder ng尝试发布时没有方法multipart()的签名,post,groovy,multipart,httpbuilder-ng,Post,Groovy,Multipart,Httpbuilder Ng,我几乎完全按照HttpBuilder NG示例中所列的方式实现了这段代码,但它对我来说不起作用。由于某些原因,它不能将multipart识别为方法。来自图书馆创作者的例子 multipart方法(在request.bodyconfig中)需要静态导入(我将更新文档,使其更加明确) 对于您的示例,这将是导入静态groovyx.net.http.MultipartContent.multipart。完整的错误消息?groovy.lang.MissingMethodException:没有方法的签名:
multipart
方法(在request.body
config中)需要静态导入(我将更新文档,使其更加明确)
对于您的示例,这将是导入静态groovyx.net.http.MultipartContent.multipart。完整的错误消息?groovy.lang.MissingMethodException:没有方法的签名:com.foulk.utils.blazeapi.BlazeApiHelper.multipart()适用于参数类型:(com.foulk.utils.blazeapi.BlazeApiHelper$\u uploadFileNG\u closure9$\u closure12)值:[com.foulk.utils.blazeapi.BlazeApiHelper$\u uploadFileNG\u closure9]$_closure12@704deff2]我想我以前也试过,但显然我没有。multipart的静态导入工作得很好,谢谢你的指导。我只是推了一下文档更新,这样其他人就不会落入同样的陷阱了。:-)
def uploadFileNG(String targetTestId, String filePath) {
File someFile = new File(filePath)
OkHttpBuilder.configure {
request.uri = blazeUrl
}.post {
request.uri.path = "/api/latest/tests/${targetTestId}/files"
request.contentType = "multipart/form-data"
request.body = multipart {
field 'name', 'This is my file'
part 'file', someFile.getName(), 'text/plain', someFile
}
request.encoder 'multipart/form-data', OkHttpEncoders.&multipart
}
}