gpt4 book ai didi

encoding - groovy 中多部分/表单数据的编码器功能

转载 作者:行者123 更新时间:2023-12-02 01:40:31 25 4
gpt4 key购买 nike

我需要使用 jpeg 图像和 JSON 文件作为内容来形成“multipart/form-data”REST 请求。我一直坚持将“multipart/form-data”编码为 zip 文件。

有人能告诉我,如何使用 groovy RESTClient 实现这一点吗?我找不到与此相关的任何文档。

最佳答案

docs中可以看出RESTClient 扩展 HTTPBuilderHTTPBuilder 有一个 getEncoder 方法,可用于添加专用编码器(具有类型和方法)。请看下面的一段代码:

import org.codehaus.groovy.runtime.MethodClosure
import javax.ws.rs.core.MediaType

//this part adds a special encoder
def client = new RESTClient('some host')
client.encoder.putAt(MediaType.MULTIPART_FORM_DATA, new MethodClosure(this, 'encodeMultiPart'))

//here is the method for the encoder added above
HttpEntity encodeMultiPart(MultipartBody body) {
MultipartEntityBuilder.create()
.addBinaryBody(
'file',
body.file,
ContentType.MULTIPART_FORM_DATA,
body.filename
).build()
}

//here's how MultipartBody class looks:
class MultipartBody {
InputStream file
String filename
}

现在要创建一个多部分请求,您需要将 MultipartBody 的实例作为正文参数传递给请求。

关于encoding - groovy 中多部分/表单数据的编码器功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28870172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com