android – @part在multipart中以双引号发送字符串参数

遵循API,我呼吁编辑用户配置文件.我必须发送用户个人资料图片,所以我在API中使用了multipart.

@Multipart
@POST(ApiURLs.EDIT_USER_PROFILE)
Call<EditProfileModel> EditUserProfile (@Part("user_id) String userId , 
@Part("user_name") String userName ,
@Part("language_id") String languageId , 
@Part("state_id") String stateId , 
@Part MultipartBody.Part 
profilePicture); 

当Service调用所请求的参数时会是这样的

“user_id”:“”23“”
“user_name”:“”Keval Shukla“”
“language_id”:“”27“”
“state_id”:“53”“

如何使用MultiPart删除该双引号?

解决方法:

它必须像 –

@Multipart
@POST(ApiURLs.EDIT_USER_PROFILE)
Call<EditProfileModel> EditUserProfile (
                              @Part("user_id") RequestBody userId , 
                              @Part("user_name") RequestBody userName ,
                              @Part("language_id") RequestBody languageId , 
                              @Part("state_id") RequestBody stateId , 
                              @Part RequestBody profilePicture); 

并且,要创建requestBody,

File file = new File(imageURI.getPath());
RequestBody fbody = RequestBody.create(MediaType.parse("image/*"), file); // File requestBody
RequestBody userName = RequestBody.create(MediaType.parse("text/plain"), userNameSTRING); // String requestBody
上一篇:android – Retrofit java.net.SocketTimeoutException


下一篇:android – Retrofit RxJava – 如果我使用了Disposable.dispose(),那么当片段恢复时不会发光