Como adicionar uma lista do tipo Object (ou seja, UserData) ao MultipartBody no OkHttpClient
e você está procurando por um método de remoção de objetos, por exemplo, um método de extração de dados, você pode usar o método ArrayList. É assim que estou colocando isso na solicitação. Qualquer ajuda seria apreciada. Obrigad
Meu JSON no servidor está formatado desta maneira
{
"formData": [
{
"name": "string",
"value": {
any-object(string,file,long....etc)
}
}
],
"tripId": "string"
}
É assim que eu estou fazendo isso
private RequestBody getMultipartData(Object postData) {
MultipartBody.Builder formBody = new MultipartBody.Builder();
formBody.setType(MultipartBody.FORM);
ArrayList<UserData> arrayList = null;
if (postData instanceof OnboardPresenterImpl.TripRequest) {
OnboardPresenterImpl.TripRequest tripRequest = ((OnboardPresenterImpl.TripRequest) postData);
formBody.addFormDataPart("tripId", tripRequest.getTripId());
arrayList = tripRequest.getFormData();
}
if (arrayList != null && arrayList.size() > 0) {
for (int i = 0; i < arrayList.size(); i++) {
UserData userData = arrayList.get(i);
String value = userData.getValue().toLowerCase();
if (value.contains("/") && (value.contains(".png") ||
value.contains(".jpeg") || value.contains(".jpg"))) {
MediaType type = Util.getMediaType(value);
File sourceFile = new File(value);
if (sourceFile.exists()) {
formBody.addFormDataPart(userData.getName(),
sourceFile.getName(),RequestBody.create(type, sourceFile));
}
} else {
formBody.addFormDataPart(userData.getName(), value);
}
}
}
return formBody.build();
}