Ich habe einen API-Endpunkt, der einige Statistiken zurückgibt. Derzeit sieht die Antwort so aus:
Option 1:
{
"stats": [
{
"name": "some-stats-key1",
"value": 10
},
{
"name": "some-stats-key2",
"value": 20
}
],
... other keys
}
Aber das sieht ein bisschen komplex aus und ich weiß, wie ich es machen soll:
Option 2:
{
"stats": {
"some-stats-key1": 10,
"some-stats-key2": 20
}
... other keys
}
Ich verstehe, dass Option 1 einfacher zu erweitern ist, aber für Benutzer weniger komfortabel. Welche anderen Probleme kann ich mit einer dieser Optionen haben? Oder sollte ich eine Hybridlösung machen wie:
Option 3:
{
"stats": {
"some-stats-key1": {
"name": "some-stats-key1",
"value": 10
},
"some-stats-key2": {
"name": "some-stats-key2",
"value": 20
},
},
... other keys
}
Die Schlüssel "some-stats-key1" und "some-stats-key2" sind nur interne Werte, und es wird erwartet, dass der API-Benutzer sie mithilfe der Dokumentation in lesbare Namen abbildet. Alle Schlüssel sind einzigartig.
Die Reihenfolge der "Statistiken" ist nicht wichtig.
Der typische Anwendungsfall besteht darin, alle Statistiken abzurufen, Schlüssel mit lesbaren Namen abzugleichen und als Tabelle auf einer Webseite anzuzeigen. Aber momentan kann ich nicht sagen, ob niemand später nur einen Teil der Statistiken benötigt.
Gibt es eine bewährte Methode für dieses Problem?
Array.forEach
und anderen Array
Funktionen problemlos durchlaufen . Ihre anderen Beispiele werden Array-ähnlichen Vorgängen zusätzliche Komplexität verleihen, was Ihren Kunden das Leben schwer machen könnte