我正在尝试使用Multipart-form
在Retrofit
请求中发送以下内容:
{ "attachment": {
"file_cache": "....."
"original": "upload/image.png",
"versions": {
"small": "uploads/small_image.png"
}
},
"content": "",
"id": 1
}
我不知道这是否是我应该发送给API的正确请求,因为他们的文档非常糟糕但我能够使用Chrome开发工具来研究API接收请求的明智要求以及如何它在响应,似乎接受了JSON。
这是我观察到的照片:
他们的文档仅指出"attachment"
应该是一个对象。
是否可以在POJO
请求中发送multipart-form
个对象?我的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, ...);
关于如何实现这一目标的任何想法?
如果我尝试使用422
发送POJO
对象,则会收到状态Retrofit
不可处理的实体。
答案 0 :(得分:1)
您是否尝试过TypedFile?如果不这样试试,
@Multipart
@POST("/v2/{type}/{id}/message.json")
void addMessage(@Path("type") String type,
@Path("id") int id,
@Part("content") String content,
@Part("attachment") TypedFile photoFile,
Callback<Post> callback);
对于TypedFile,您可以通过这种方式传递附件,
File attachmentFile = new File("upload/image.png");
TypedFile attachmentTypedFile = new TypedFile("image/*", photoFile);
答案 1 :(得分:1)
我可以通过以下链接here解决此问题。
我不知道这一点,但为了发送> qr.solve(a,b)
[1] 85.2896286 -0.8924785 3.0482766
,您需要设置JSON
,如此:
REST API Service
希望这有助于其他人走出困境。