2017-01-30 23 views
0

我有一个多形式,我要上传,它是在改造这样定义的:如何为布尔型,POJO和双重改型定义mediatype?

@Multipart() 
@POST("api/events/") 
    Observable<Event> postEvent(@Header("Authorization") String authHeader,@Part("venue") Venue venue, 
           @Part RequestBody image, 
           @Part RequestBody name, 
           @Part RequestBody description, 
           @Part RequestBody date, 
           @Part RequestBody type, 
           @Part RequestBody isInviteOnly, 
           @Part RequestBody isAgeRestricted, 
           @Part RequestBody isFree, 
           @Part RequestBody ticketPrice 
           ); 

开始是那些是布尔,门票价格是一张双人床和地点是一个POJO。

当我尝试使用Mediatype.parse我得到一个错误,因为我不能定义一个布尔值或POJO为“text/plain的”

RequestBody requestBodyinvite = RequestBody.create(MediaType.parse("text/plain"),isInviteOnly); 
     RequestBody requestBodyvenue =RequestBody.create(MediaType.parse("text/plain",venue)); 

定义介质类型如何解析和POJO字符串以外的其他类型的参数?

回答

0

可以解析的POJO和媒体类型的参数如下

//for image 
       RequestBody requestBodyMedia = RequestBody.create(MediaType.parse(MULTIPART_FORM_DATA), mediaFile); 
       MultipartBody.Part mediaFileToUpload = MultipartBody.Part.createFormData("image", mediaFile.getName(), requestBodyMedia); 

在你界面

@Multipart() 
@POST("api/events/") 
    Observable<Event> postEvent(@Part MultipartBody.Part mediaFile); 
+0

将这项工作为我所有的参数,或者只有图像? – zacmwa

+0

是的,它适用于所有媒体类型。我以这种格式上传视频,音频和图像 –

+0

布尔值,POJO和整数怎么样? – zacmwa

相关问题