S'il vous plaît j'ai besoin d'aide j'ai besoin d'envoyer ce modèle avec image en utilisant rétrofit mais ça ne fonctionne pas en utilisant postier comme dans la capture d'écran alors que puis-je faire pour résoudre cette questionComment télécharger une image avec json qui est sérialisé à partir du modèle en utilisant Android retrofit
public class Package implements Comparable<Package>, Parcelable {
@SerializedName("id")
public String ID;
@SerializedName("name")
public String title;
@SerializedName("description")
public String description;
@SerializedName("value")}
ce modèle que je dois ajouter une image sur le même modèle à envoyer à l'aide de travaux de modernisation de cette
public interface ApiInterface {
@Multipart
@Headers("Content-Type: multipart/form-data")
@POST("packages/add")
Single<Result<AddPackageResponseModel>> addPackage(@Part("image") RequestBody image,
@Part("json") RequestBody addPackageModel,
@Query("token") String token);}
c'est comment je créé le corps de la demande
File imageFile = ImageHelper.convertBitmapToFile(addPackageModel.getImage(), "image", context);
RequestBody packageImageFileRequestBody = RequestBody.create(MediaType.parse("multipart/form-data"), imageFile);
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
String addPackageModelJSON = gson.toJson(addPackageModel);
RequestBody addPackageJSONRequestBody = RequestBody.create(MediaType.parse("multipart/form-data"), addPackageModelJSON);
compositeDisposable.add(addPackageInteractor.addPackage(packageImageFileRequestBody,
addPackageJSONRequestBody, token)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Result<AddPackageResponseModel>>() {
@Override
public void accept(@NonNull Result<AddPackageResponseModel> responseResult) throws Exception {
if (responseResult.response().body() != null) {
addPackageView.addPackageSuccess();
}
}
}, new Consumer<Throwable>() {
@Override
public void accept(@NonNull Throwable throwable) throws Exception {
}
}));
c'est postier avec back-end et il fonctionne très bien lorsque vous utilisez postier
merci beaucoup pour votre réponse, c'est utile mais j'ai besoin de quelque chose de plus avancé j'ai un autre objet dans mon modèle comme dimension (largeur - hauteur - longueur) donc devrais-je obtenir tous les champs dans mon modèle est rien de plus facile que cela où je peux envoyer le modèle et retrofit faire cet effort? Merci d'avance –