L'avancée des travaux autour des API REST et leur omniprésence dans les architectures web modernes (MVVC, ajax, micro-services architecture...) ont conduit à la définition de meta-models de ce type d'architecture.
Un exemple de meta-model de service REST est swagger. Il propose une language de définition du meta-model en json/yaml et permet de dériver différents programmes à partir de cette définition :
- template de code server dans différents languages et frameworks.
- librairie cliente compatible avec l'implémentation du serveur.
- documentation html interactive.
La limite de cette approche générative est la responsabilité laissé au développeur d'implémenter correctement les services métiers sous-jascents.
Afin de tester facilement et rapidement des API REST définies à l'aide de swagger, nous vous proposons de développer un fuzzer afin de valider des priopriétés génériques de l'API développée.
- Détection de la présence d'une erreur 404 quand le chemin requêté ne correspond pas à un chemin définis dans l'API.
- Validation que le type de donnée retounées par les requêtes GET correspond au type de retour attendu.
Pas de technologies imposées mais la page TOOLS AND INTEGRATIONS vous donnera une idée générale des écosystèmes dans lesquels des outils existent déjà.