🎯 Intention


<aside> âś…

Pré-requis

✅ Points clés


<aside> ⌛ Temps indicatif : 0.5j

</aside>

Etape

Visuel / Exemple


🆎 Définir une conventions de nommage unique

Raison :

Pour l’instant on ne sait pas comment faire pour renvoyer et écouter du camelCase sur un projet Ruby on Rails, c’est pour cela que nous avons choisi underscore_case

❌ BAD
{
  "lastName": "Toto"
}

âś… GOOD
{
  "last_name": "Toto"
}

🆗 Définir le format des réponses de type “Succès“

Raison :

La réponse doit être le plus explicite possible.


🛑 Définir le format des réponses de type “Erreur”

Raison :

Avoir un format d’erreur générique permet de facilement envoyer toutes les informations nécessaire au débuggage au client.

{
	"message": "Impossible de faire XXX",
	"errors": {
    "template_tenue": [
      "doit exister"
    ],
    "bloc_rouge": [
      "doit exister"
    ],
    "bloc_vert": [
      "doit exister"
    ]
  },
	"code": "unprocessable_entity",
}

❌ Erreurs type à éviter


🎓Aller plus loin


Spec des codes de retour HTTP commun