gpt4 book ai didi

java - 如何使用 Retrofit 在多部分表单请求中发送 POJO 对象?

转载 作者:行者123 更新时间:2023-11-29 20:36:58 25 4
gpt4 key购买 nike

我正在尝试使用 RetrofitMultipart-form 请求中发送以下内容:

{ "attachment": { 
"file_cache": "....."
"original": "upload/image.png",
"versions": {
"small": "uploads/small_image.png"
}
},
"content": "",
"id": 1
}

我不知道这是否是我应该发送给 API 的正确请求,因为他们的文档真的很糟糕,但我能够使用 Chrome 开发工具来研究 API 明智地接收了哪些请求以及它是如何接收请求的响应,它似乎接受该 JSON。

这是我观察到的照片:

enter image description here

他们的文档只说明“attachment”应该是一个对象。

enter image description here

是否可以在 multipart-form 请求中发送 POJO 对象?我的 REST 界面如下所示:

@Multipart
@POST("/v2/{type}/{id}/message.json")
void addMessage(@Path("type") String type,
@Path("id") int id,
@Part("content") String content,
@Part("attachment") MultipartTypedOutput multipartTypedOutput,
Callback<Post> callback);

发送 MultipartTypedOutput 无效,使用以下内容也无效:

addMessage(...., @Part("attachment") POJOObject object, ...);

关于如何实现这一点有什么想法吗?

如果我尝试使用 Retrofit 发送 POJO 对象,我会得到状态 422 不可处理的实体。

最佳答案

我可以通过此链接解决此问题 here .

我不知道这一点,但为了发送 JSON,您需要像这样设置您的 REST API 服务:

@Multipart
@POST("/v2/{type}/{id}/message.json")
void addMessage(@Path("type") String type,
@Path("id") int id,
@Part("content") String content,
@Part("attachment[file_cache]") String fileCache,
@Part("attachment[original]") String original,
@Part("attachment[versions][small]") String small,
Callback<Post> callback);

希望这对以后的其他人有所帮助。

关于java - 如何使用 Retrofit 在多部分表单请求中发送 POJO 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31374927/

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