3
votes

pourquoi addConverterFactory est nécessaire dans Retrofit

Ma question concerne la modernisation et le GSON. Je sais que GSON est utilisé pour l'objet JAVA <-> JSON. Je sais que Retrofit analyse notre réponse. Ce que je ne comprends pas, c'est pourquoi nous avons besoin de GsonConverterFactory. Aussi pourquoi addConverterFactory est-il nécessaire pour la modernisation


0 commentaires

3 Réponses :


1
votes

si les convertisseurs json ne répondent pas à vos besoins, vous devrez ajouter une fabrique de convertisseur personnalisée pour la sérialisation et la désérialisation de vos objets. considérez ce cas . je souhaite que vous trouverez cet article utile.


0 commentaires

1
votes

Si votre application est au repos, donc obtient et envoie des données depuis / vers le serveur

L'usine de conversion doit être ajoutée, juste pour la modernisation peut convertir les données JSON (obtenues du serveur) en objets java (modèle) (POJO), à utiliser dans Android Project.

Il existe des bibliothèques de conversion pour convertir JSON en objets Java, (GSON, Jackson..etc) vous devez décider quel convertisseur vous souhaitez utiliser dans votre projet et ajouter la même usine

Dépendances dans app.gradle

implémentation "com .squareup.retrofit2: converter-gson: VERSION "

et Usines dans les paramètres Retrofit

GsonConverterFactory ou JacksonConverterFactory code >

Retrofit.Builder().addConverterFactory(GsonConverterFactory.create());

De plus, si le type de données distantes est XML, vous devez ajouter SimpleXmlConverterFactory


0 commentaires

1
votes

Le monde n'est pas que json et gson. Il existe d'autres formats que vous pouvez utiliser pour implémenter Rest Apis, par exemple XML.

De plus, dans le monde des parseurs json, il n'y a pas seulement gson mais bien plus comme Jackson et Moshi.

Il serait extrêmement difficile de maintenir tous les convertisseurs de format possibles dans Retrofit, donc cela décharge l'analyse vers les classes qui implémentent l'interface pour un convertisseur. Mettre cela derrière une usine permet à Retrofit de découpler même la création de ces convertisseurs, afin qu'il puisse en avoir différents pour différentes réponses et demandes.

Cela vous permet également d'avoir plusieurs convertisseurs dans la même instance Retrofit et c'est aussi un moyen simple de vous permettre d'implémenter votre propre convertisseur.

Dans l'ensemble, ce découplage offre beaucoup plus de flexibilité que de le coupler avec des bibliothèques spécifiques.


0 commentaires