La norme API JSON format de la réponse?

Faire de normes ou de pratiques exemplaires pour la structuration des réponses JSON à partir d'une API? Évidemment, toutes les données de l'application est différente, de sorte que beaucoup ne me concerne pas, mais plutôt la réponse "standard", si vous voulez. Un exemple de ce que je veux dire:

Succès de la demande:

{
  "success": true,
  "payload": {
    /* Application-specific data would go here. */
  }
}

Échec de la demande:

{
  "success": false,
  "payload": {
    /* Application-specific data would go here. */
  },
  "error": {
    "code": 123,
    "message": "An error occurred!"
  }
}
  • Les gens ont probablement appris de SAVON et de ne pas construire de nouveau...
  • Soin d'expliquer votre commentaire?
  • XML a été, à mon avis, tués pour les programmeurs par un excès de normalisation qui en résulte dans le ballonnement de l'API et des applications, conduisant finalement à presque jamais, aujourd'hui, faire du SAVON à la simple original quelques LOC façon, mais avec la lenteur des bibliothèques, de paramétrage et même le code de la construction des cadres... je suis sûr que la plupart aujourd'hui, les concepteurs ne veulent pas avoir le même cauchemar se produise. Mais c'est juste un avis et je ne veux pas le sol de votre question avec plus de coup de gueule à l'odeur des commentaires.
  • J'étais vraiment intéressé par cette question, comme j'ai eu à concevoir une API JSON récemment et me demandais si elles étaient toutes les normes de la définition d'un format de réponse. La vôtre en fait est très joli et semble à la peine de l'utiliser si vous ne trouvez pas un standard. C'est une honte que les réponses fournies ne sont pas réellement répondre à la question.
  • malheureusement, c'est parce que peu importe où vous allez, il n'y a pas de norme. Non seulement au sein de JSON lui-même, mais en termes de son utilisation pour les applications Reposant, ou toute autre chose de la sorte. Tout le monde le fait différemment. Vous pouvez vous sentir libre de suivre les meilleures pratiques (HTTP-réponses, gamme étoffée de la structure, un œil vers la structuration de vos données à des fins de consommation par votre système), mais tous, qui est un important distributeur est en train de faire au moins une chose différente que les autres... Il n'y a pas de norme, et il ne sera probablement pas un, afin de construire quelque chose de solide, et de le construire pour s'adapter à vous.
  • il existe des normes (voir ma réponse). En fait, La bonne chose à propos des normes, c'est que vous avez donc beaucoup à choisir de. - Andrew Tanenbaum
  • Et pourtant, aujourd'hui, il y RESTE.
  • Le REPOS est absolument contrairement au SAVON. De REPOS et de ne pas normaliser JSON à tous.
  • Peut-être que j'ai mal compris votre diatribe. L'OP a une question sur 'la structuration des réponses JSON à partir d'une API". JSON est en grande partie remplacé le XML, et bien que je ne suis pas sûr de REPOS uniformise les réponses eux-mêmes, il ne standardiser les Api web, dans un cadre beaucoup moins cauchemardesque façon que XML n'. Dans les projets impliquant de nombreux ingénieurs, c'est agréable quand il y a un standard, tout le monde peut suivre, et je souhaite qu'il y ait une pour les réponses. J'essaie d'écrire réutilisables code client, et lors de la vérification de pour HTTP 200 est assez facile, je suis souvent frustré par l'inconsistance des structures dans des réponses d'erreur, que je voudrais journal.
  • xkcd.com/927
  • Très bonne question. Nous avons d'abord utilisé des objets dynamiques en C# et rapidement, il est difficile de savoir ce que les données ont été. Votre présentés idée ressemble en fait assez bon niveau.
  • cela devrait vraiment aller à des logiciels ingénieur parce que c'est plus opiniâtres.
  • Les "normes" mentionné dans les bagages de réponse sont horribles (ballonnement, incompréhensible), celui que vous avez est celui que j'utilise aussi. Peut-être nous tous à l'aide de collecter et de publier notre propre standard.

InformationsquelleAutor FtDRbwLXw6 | 2012-10-09