Post 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:没有方法的签名:

我几乎完全按照HttpBuilder NG示例中所列的方式实现了这段代码,但它对我来说不起作用。由于某些原因,它不能将multipart识别为方法。来自图书馆创作者的例子


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
    }
}