我几乎完全按照HttpBuilder-NG的示例中列出的那样实现了这个代码,它对我不起作用。由于某种原因,它不会将multipart识别为方法。来自库https://http-builder-ng.github.io/http-builder-ng/asciidoc/html5/#_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
}
}
答案 0 :(得分:1)
需要静态导入multipart
方法(在request.body
配置中)(我将更新文档以更明确地说明这一点)。
对于您的示例,这将是import static groovyx.net.http.MultipartContent.multipart
。