Rénovation 2.0 :
MISE À JOUR: @ par Marcus Pöhls
Connexion Retrofit 2
Retrofit 2 repose entièrement sur OkHttp pour toute opération réseau. Puisque OkHttp est une dépendance homologue de Retrofit 2, vous n'aurez pas besoin d'ajouter une dépendance supplémentaire une fois que Retrofit 2 sera publié en tant que version stable.
OkHttp 2.6.0 est livré avec un intercepteur de journalisation en tant que dépendance interne et vous pouvez l'utiliser directement pour votre client Retrofit. Retrofit 2.0.0-beta2 utilise toujours OkHttp 2.5.0. Les versions futures augmenteront la dépendance aux versions supérieures d'OkHttp. C'est pourquoi vous devez importer manuellement l'intercepteur de journalisation. Ajoutez la ligne suivante à vos importations gradle dans votre fichier build.gradle pour récupérer la dépendance de l'intercepteur de journalisation.
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
Vous pouvez également visiter la page GitHub de Square à propos de cet intercepteur
Ajouter la journalisation à la modernisation 2
Lors du développement de votre application et à des fins de débogage, il est agréable d'avoir une fonction de journal intégrée pour afficher les informations de demande et de réponse. La journalisation n'étant plus intégrée par défaut dans Retrofit 2, nous devons ajouter un intercepteur de journalisation pour OkHttp. Heureusement, OkHttp est déjà livré avec cet intercepteur et il vous suffit de l'activer pour votre OkHttpClient.
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// set your desired log level
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
// add your other interceptors …
// add logging as last interceptor
httpClient.addInterceptor(logging); // <-- this is the important line!
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
Nous vous recommandons d'ajouter la journalisation en tant que dernier intercepteur, car cela enregistrera également les informations que vous avez ajoutées avec les intercepteurs précédents à votre demande.
Niveaux de journal
Enregistrer trop d'informations fera exploser votre moniteur Android, c'est pourquoi l'intercepteur de journalisation d'OkHttp a quatre niveaux de journalisation: AUCUN, BASIC, EN-TÊTES, CORPS. Nous allons vous guider à travers chacun des niveaux de journal et décrire leur sortie.
Pour plus d'informations, veuillez consulter: Retrofit 2 - Log Requests and Responses
ANCIENNE RÉPONSE:
plus de connexion dans Retrofit 2. L'équipe de développement a supprimé la fonctionnalité de journalisation. Pour être honnête, la fonction de journalisation n'était de toute façon pas aussi fiable. Jake Wharton a explicitement déclaré que les messages ou objets enregistrés sont les valeurs supposées et qu'ils n'ont pas pu être prouvés comme étant vrais. La demande réelle qui arrive au serveur peut avoir un corps de demande modifié ou autre chose.
Même s'il n'y a pas de journalisation intégrée par défaut, vous pouvez tirer parti de n'importe quel enregistreur Java et l'utiliser dans un intercepteur OkHttp personnalisé.
plus d'informations sur Retrofit 2, veuillez consulter:
Retrofit - Mise en route et création d'un client Android
FULL
c'est censé donner le corps, mais cela ne semble pas.