J'écris un service Web simple qui renvoie une réponse JSON. Il sera très utilisé, donc je veux essayer de rendre la réponse JSON aussi petite que possible pour des raisons de performances. Je suis sur la clôture sur une décision de conception; Penny pour vos pensées!Réponse JSON du service Web - Question sur les meilleures pratiques
Ma réponse JSON du serveur ressemble à ceci:
{
"customers":
[
{
"id": "337",
"key": "APIfe45904c"
},
{
"id": "338",
"key": "somethingDifferent"
},
{
"id": "339",
"key": "APIfe45904c"
},
{
"id": "340",
"key": "APIfe45904c"
}
]
}
Le APIfe45904c
ici est utilisé dans environ 60 à 70% des dossiers, pour que je puisse modifier aussi la réponse JSON pour supprimer les informations répétées et ajouter un default_key
à savoir s'il n'y a pas key
spécifié, le client doit assumer le default_key
comme ceci:
{
"default_key": "APIfe45904c",
"customers":
[
{
"id": "337"
},
{
"id": "338",
"key": "somethingDifferent"
},
{
"id": "339"
},
{
"id": "340"
}
]
}
aucun client utilise le service Web encore, donc ce ne serait pas casser quoi que ce soit. Est-ce une bonne pratique? Cela fonctionne et donne une petite réponse JSON, mais je suis en conflit. J'aime le principe KISS pour les développeurs utilisant le service, mais je veux aussi une réponse JSON aussi petite que possible.
je tenté de remplacer customers
avec c
, id
avec i
et key
avec k
pour aider à réduire la taille du fichier, mais je me suis dit que ce sera un problème si je veux obtenir d'autres clients de commencer à l'utiliser. Devrais-je abandonner l'idée de default_key
pour la même raison?
Chaque réponse JSON sera probablement pas plus de 200 lignes de id/paires de clés, donc je ne pas besoin d'intégrer la pagination, etc.
Pourquoi est-ce marqué 'reste'? Une architecture où les messages doivent être aussi petits que possible pour des raisons de performances est exactement contraire à REST, qui repose sur la mise en cache pour envoyer moins de messages * plus volumineux * au lieu de nombreux messages plus petits. – fumanchu