Dans toute startup, la gestion des API sur plusieurs services est un défi courant.
Nous avons été confrontés à trois problèmes principaux :
Chacune d'entre elles avait sa propre série de questions : comment le faire, où le faire, quels outils utiliser et qui en prendrait possession.
Pour résoudre ce problème, notre équipe a décidé de consolider toutes les API dans un seul référentiel appelé APIHub. Les API de chaque service ont été stockées dans un format simple et cohérent :
GET | POST | PUT | DELETE | PATCH ${baseurl}/endpoint { "body": "if present" }
Nous avons nommé les fichiers en fonction de leur fonction. Vous trouverez ci-dessous un exemple de fichier .l2 pour une API « Leave Apply », ainsi qu'une barre latérale affichant les autres API du référentiel :
Nous avons rendu obligatoire l'inclusion du fichier .l2 correspondant dans chaque demande de pull/fusion. Si ce n’était pas le cas, la demande ne serait pas approuvée. Cette règle simple a accru la cohérence de la documentation de l'API au sein de l'équipe.
Nous avons vite réalisé que tester manuellement les API en copiant les URL et les charges utiles vers des outils comme Postman prenait beaucoup de temps. Nous avons donc construit un outil CLI appelé Lama2.
Lama2 est un gestionnaire d'API en texte brut optimisé pour la collaboration basée sur Git.
Avec Lama2, vous pouvez transmettre un fichier .l2 en entrée, et la CLI exécuterait l'API et afficherait la réponse dans le terminal :
Cela nous a évité un copier-coller constant, mais changer de répertoire pour trouver les fichiers .l2 était toujours fastidieux :
lovestaco@i3nux:~/apihub/feedback/fb_v3/leave$ l2 apply_leave.l2
Pour rationaliser davantage les choses, nous avons développé une extension VSCode. Il était doté de fonctionnalités qui rendaient notre flux de travail encore plus fluide :
Cette extension est rapidement devenue l'une des préférées de l'équipe, et nous avons décidé de la publier sur GitHub pour que d'autres puissent également en bénéficier.
Au fur et à mesure que nos API se développaient, nous nous sommes demandé :
Et c’est là que commence le prochain chapitre de notre voyage...
Suivez-moi pour savoir ce qui se passera ensuite dans mon prochain article.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!