utiliser des serveurs fictifs tout au long du cycle de vie de l'API

APIGit

2023-04-25

The-Many-Ways-to-Use-Mock-Servers

Utilisation de serveurs fictifs tout au long du cycle de vie de l'API

Les serveurs fictifs sont une solution utile pour les divers défis inattendus qui surviennent tout au long du processus de développement. L'intégration avec plusieurs API peut prendre du temps, les individus passant en moyenne 16 % de leur temps à déboguer, contre seulement 10 % dans leur état idéal. Les dépendances externes et les efforts d'équipe simultanés peuvent également entraîner des retards et de la frustration. Cependant, en utilisant des serveurs fictifs, les développeurs peuvent minimiser ces revers et interruptions, ce qui en fait un outil précieux tout au long du cycle de développement.

Qu'est-ce qu'un faux serveur ?

Pour clarifier, un serveur fictif est un outil disponible sur la plate-forme Apigit qui permet aux développeurs de simuler des requêtes et des réponses d'API. Lorsqu'une demande est envoyée au serveur fictif, il fait correspondre la configuration de la demande aux exemples enregistrés et fournit une réponse avec les données correspondantes.

Les serveurs fictifs permettent de simuler les réponses d'une API dans un environnement de production, sans que les développeurs aient à écrire de code. En utilisant des serveurs fictifs, la boucle de rétroaction dans le développement de l'infrastructure API est raccourcie, permettant des itérations plus rapides et un développement plus rapide.

Dans cet article de blog, nous discuterons des avantages de l'utilisation de serveurs fictifs et de la manière dont ils peuvent améliorer votre flux de travail de développement. Apigit fournit plusieurs méthodes pour créer un serveur fictif, que nous explorerons en détail.

Utilisation de serveurs fictifs pour la collaboration

Dans la plupart des cas, les projets de développement impliquent plusieurs équipes et individus travaillant simultanément sur différents aspects du projet. Cela inclut les développeurs frontend, les développeurs backend, les ingénieurs QA et d'autres spécialistes, même dans les projets à plus petite échelle. Afin de maximiser la productivité et l'efficacité, il est courant que les équipes travaillent simultanément sur différentes parties du projet.

Les serveurs fictifs sont un outil polyvalent qui peut aider à maintenir l'efficacité tout au long du processus de développement, au profit à la fois des producteurs d'API et des consommateurs. Ils peuvent être utilisés à différentes étapes du cycle de vie du développement de l'API. Par exemple, lorsque l'équipe frontend souhaite intégrer des données du backend ou du serveur, des serveurs fictifs peuvent être utilisés pour simuler des points de terminaison d'API qui ne sont pas encore entièrement configurés ou fonctionnels. Cela garantit que l'ingénierie frontale est précise et possible même en l'absence de fonctionnalité API complète.

Les serveurs fictifs peuvent être utilisés à un stade précoce du processus de développement, comme pendant la phase de conception. Au lieu d'attendre que les points de terminaison de l'API soient développés et déployés, Apigit permet aux développeurs de créer un serveur fictif à partir d'une spécification d'API, qui peut simuler les réponses du serveur à utiliser dans le frontend. Cela permet aux développeurs d'interface utilisateur de démarrer immédiatement en interrogeant le serveur fictif et en travaillant avec les réponses attendues. Une fois que l'API réelle est prête pour la production, les développeurs peuvent échanger l'URL des réponses d'API fictives avec l'URL de l'API réelle (avec toute autorisation nécessaire).

Testez efficacement en vous moquant des dépendances externes

Les API et les projets de développement ne sont pas des entités isolées, et le développement backend nécessite souvent une intégration avec des services externes. Cependant, les appels vers des serveurs externes échappent à votre contrôle et peuvent produire des résultats imprévisibles et peu fiables, tels que le renvoi d'erreurs 503 Service indisponible. Comme mentionné précédemment, le débogage des problèmes d'API peut consommer jusqu'à 16 % du temps de développement global. Lorsqu'un projet repose sur plusieurs API externes, il est possible de rencontrer des problèmes d'accès aux API en panne, ce qui peut entraver la progression. Cependant, ces problèmes ne doivent pas arrêter complètement le développement.

Les appels d'API externes sont souvent des composants essentiels des workflows de développement, mais s'appuyer sur des services externes pendant le développement peut être risqué. Pour atténuer ce risque, des serveurs fictifs peuvent être utilisés pour simuler l'expérience d'accès à un serveur externe et renvoyer les réponses attendues. Ceci est particulièrement utile dans les situations où un appel à un serveur externe ou à une API est un élément crucial du processus de développement.

Dans ce scénario, les serveurs fictifs facilitent la phase de test et de développement local du cycle de développement. Explorons un exemple théorique :

Supposons que vous développiez une application de commerce électronique avec un flux de commande, où votre API est couplée à un service d'expédition qui doit rester synchronisé. Plus précisément, lorsqu'un article est ajouté au panier dans l'application de commerce électronique, il doit également être ajouté au panier du service d'expédition, afin que le service d'expédition puisse suivre ce qui doit être expédié. Cela signifie que chaque demande faite à votre API déclenchera également une demande à l'API du service d'expédition.

A visual example of testing an e-commerce site but productivity is stopped because of an issue in the Shipping API Un exemple visuel de test d'un site de commerce électronique mais la productivité est arrêtée en raison d'un problème dans l'API d'expédition

Une partie cruciale du développement d'API consiste à s'assurer que les services externes ou les API sur lesquels le projet s'appuie sont fonctionnels et renvoient les résultats attendus. Cependant, les appels vers des serveurs externes ne sont pas toujours fiables et peuvent produire des erreurs inattendues, conduisant à un besoin de débogage. Dans de tels cas, les serveurs fictifs sont utiles en simulant l'expérience de frapper un serveur externe et en renvoyant une réponse attendue.

Au cours de la phase de test et de développement local du cycle de vie du développement, les serveurs fictifs aident à isoler les API individuelles dans le flux de travail. En configurant un serveur fictif pour une API externe, telle qu'une API de service d'expédition dans le cas d'une application de commerce électronique, on peut continuer à travailler en fonction des résultats attendus de l'API même si elle est en panne. Cela rend le processus de test plus efficace et réduit les risques d'arrêt du projet en raison de défaillances de l'API.

Lors du test du flux de commande d'une application de commerce électronique, l'API doit rester synchronisée avec un service d'expédition. Cependant, si l'API d'expédition renvoie des erreurs ou est en panne, cela peut entraîner des retards de développement et de test. Pour éviter de telles dépendances, des serveurs fictifs peuvent être utilisés pour simuler les réponses attendues des services externes. Avec Apigit, les développeurs peuvent tester chaque API individuellement et identifier des problèmes spécifiques. En configurant un serveur fictif pour l'API d'expédition, les développeurs peuvent continuer à travailler en fonction des résultats attendus même si l'API d'expédition est en panne. L'image suivante montre le même flux de travail avec un serveur fictif remplaçant l'API d'expédition, permettant aux tests de se poursuivre sans interruption tant que les API internes fonctionnent comme prévu.

A visual example of testing the e-commerce site while using a mock server to simulate the Shipping API Un exemple visuel de test du site de commerce électronique tout en utilisant un serveur fictif pour simuler l'API d'expédition

Parlez-moi des données

Le partage de données est au cœur des API, quel que soit le protocole ou le verbe HTTP utilisé. Cependant, ces données peuvent contenir des informations personnelles sensibles que vous ne souhaitez peut-être pas utiliser à des fins de test. D'un autre côté, l'utilisation de données d'espace réservé comme "John Doe" peut devenir monotone et irréaliste. C'est là que les faux serveurs sont utiles.

Les serveurs fictifs sont utiles pour gérer à la fois les tests quotidiens et les cas d'utilisation délicats, y compris ceux où les données privées doivent être protégées ou lorsque vous souhaitez simuler un flux de travail de type production.

Avec Apigit, vous pouvez créer des données dynamiques pour vos serveurs fictifs en les générant à partir d'une série de requêtes étroitement couplées et d'exemples de réponse correspondants. Au lieu de vous fier à l'exemple enregistré par défaut, vous pouvez personnaliser la réponse en fonction de vos besoins.

Une façon d'y parvenir consiste à modifier l'exemple de réponse pour inclure des variables dynamiques. Cette approche permet à votre serveur fictif de tirer parti de la bibliothèque intégrée et de fournir des données factices qui imitent les données du monde réel.

Internet est un endroit imprévisible - laissez les simulations mettre de l'ordre dans votre cycle de vie de développement

Les développeurs peuvent adopter un état d'esprit similaire à celui du sport où ils se concentrent sur le contrôle des contrôlables. En développement, la stabilité d'une API externe n'est pas toujours sous votre contrôle, mais des serveurs fictifs peuvent être utilisés pour simuler ce qui devrait se passer, réduisant ainsi les problèmes inattendus. En utilisant des serveurs fictifs, les développeurs peuvent créer la stabilité dont ils ont besoin pour faire leur travail efficacement. Alors, laissez les serveurs fictifs être la stabilité dont les développeurs ont besoin pour atteindre leurs objectifs sans aucune confusion ni contretemps inattendu.