Pourquoi l'analyse de la taille du payload est importante
Les payloads JSON ont un impact direct sur les performances des API. Chaque octet doit voyager sur le réseau, être analysé par le client destinataire et alloué en mémoire. Une réponse API de 200 Ko qui pourrait faire 20 Ko avec une meilleure sélection de champs vous coûte 10× en bande passante, temps d'analyse et batterie mobile. L'Analyseur de taille rend ces coûts visibles.
L'analyse de taille est particulièrement utile lors de la conception ou de l'audit d'API REST et de schémas GraphQL. Si un champ contribue à 40 % du poids total du payload, vous savez immédiatement qu'il doit être chargé paresseusement, paginé ou déplacé vers un endpoint séparé.
L'analyseur rapporte également des métriques structurelles : la profondeur maximale d'imbrication, le nombre total de clés et de valeurs, le nombre de noms de clés distincts, et le ratio d'octets de clés par rapport aux octets de valeurs.
Lecture du rapport de taille
Taille totale : La longueur en octets de la chaîne JSON dans sa forme actuelle. L'analyseur montre également la taille compressée gzip estimée, ce qui correspond à ce que vous payez réellement en transport HTTP.
Principaux contributeurs par clé : Une liste classée des principales clés par contribution totale en octets. Cette liste est la sortie la plus exploitable — elle vous indique exactement quels champs cibler pour l'optimisation.
Profondeur et largeur : La profondeur maximale d'imbrication vous indique la complexité de la structure. Une profondeur élevée (>5 niveaux) indique souvent une conception trop hiérarchique.
Réduire la taille des payloads JSON
Sélection de champs (sparse fieldsets) : Si votre API le supporte, demandez uniquement les champs dont vous avez besoin. GraphQL le prend en charge nativement. Les API REST peuvent l'implémenter avec un paramètre de requête ?fields=.
Raccourcissement des clés : Les noms de clés longs et descriptifs comme "organizationIdentifier" coûtent plus d'octets que "orgId". Dans les API à haute fréquence, le raccourcissement des clés peut réduire significativement la taille du payload.
Aplatissement structurel : Les objets profondément imbriqués répètent souvent les mêmes noms de clés à chaque niveau. L'aplatissement de la hiérarchie élimine les noms de clés redondants.