Serveur fictif Swagger
J'ai une référence API dans le fichier Swagger. Je veux créer un serveur fictif très simple, de sorte que quand j'appelle par exemple.:
mymockurl.com/users
il retournera un JSON prédéfini (pas besoin de se connecter à une base de données).
Quelle est la meilleure façon de le faire? Je ne suis pas un backend gars.
8 réponses
SwaggerHub fournit un maquette serveur pour OpenAPI 2.0 et 3.0 spécifications. Mocking est pris en charge sur les plans gratuits et payants.
Pour utiliser le serveur simulé, importez votre spécification dans SwaggerHub et activez "API Auto Mocking". Les réponses simulées peuvent être JSON, YAML et XML, et sont générées en fonction de vos schémas de réponse et du example
, default
et enum
valeurs définies dans les schémas.
divulgation: je travaille pour la société qui fabrique SwaggerHub.
Un moyen facile de créer un simple mock à partir D'un OpenAPI (fka. Swagger) spec sans code est d'utiliser un outil d'appel de prisme disponible à http://github.com/stoplightio/prism
Cette ligne de commande est tout ce dont vous avez besoin:
./prism run --mock --list --spec <your swagger spec file>
Le serveur simulé retournera une réponse dynamique basée sur la spécification OpenAPI. Si des exemples sont fournis dans la spécification, prism les retournera, sinon il générera des données fictives basées sur la spécification.
Étant donné la spécification OpenAPI/Swagger, vous pouvez utiliser Swagger Codegen pour générer un stub de serveur dans différents frameworks de serveur (par exemple Java Spring. PHP Slim, Ruby sur Rails5, etc.).
Voici la documentation connexe:
Https://github.com/swagger-api/swagger-codegen/wiki/Server-stub-generator-HOWTO
Mise à jour: en mai 2018, environ 50 contributeurs de Swagger Codegen ont décidé de lancer le projet pour créer une version axée sur la communauté appelée OpenAPI Générateur . Veuillez vous référer au Q & A pour les raisons derrière la fourche.
Imposteur est un Un scriptable, polyvalent maquette serveur.
Très facile à installer dans un environnement Docker et fournit une interface utilisateur Swagger pour jouer avec votre api simulée.
Voyons un exemple de configuration
-
Avoir une configuration swagger prête dans un fichier dans le dossier
config/petstore.yaml
swagger: "2.0" info: version: 1.0.0 title: Swagger Petstore . . .
, Vous pouvez copier l'exemple swagger spécification à partir de ici.
-
Créer un fichier de configuration pour Imposteur dans
config/openapi-plugin-petstore-config.json
{ "plugin": "com.gatehill.imposter.plugin.openapi.OpenApiPluginImpl", "specFile": "petstore.yaml" }
Le nom du fichier de configuration doit se terminer par
-config.json
. -
Exécuter Imposteur avec Docker
Assurez-vous que votre shell est placé dans le répertoire parent de
config
et exécutezdocker run -ti -p 8443:8443 \ -v $(pwd)/config:/opt/imposter/config \ outofcoffee/imposter-openapi
Voici le conteneur docker pour le serveur api simulé de swagger yaml.
docker run -i \
-p 8000:8000 \
-v /path/to/file.yaml:/data/swagger.yaml \
-t palo/swagger-api-mock:latest
Cela utilise en interne Swagger-mock-api
Openapi-maquette est un CLI wrapper pour swagger-nœud-coureur et balancement spécifiquement pour démarrer une simulation de serveur à partir d'un openapi/swagger le fichier spec.
Je Docker composé Swagger Editor, Swagger UI et Swagger mock API server pour les gérer plus facilement. Check it out. Il y a un exemple de spécification swagger dans ce cas, l'éditeur, L'interface utilisateur et le serveur d'API simulé s'exécuteront sans aucune configuration dès le début. Tout ce que vous devez faire est de modifier la spécification swagger, enregistrer swagger.json et swagger.yaml, et redémarrez docker.
MockLab prend désormais en charge la génération automatique d'API simulées à partir d'une définition Swagger importée. Et vous pouvez également le configurer comme un webhook reçu dans Swaggerhub afin qu'il soit mis à jour à chaque sauvegarde / publication:
Https://www.mocklab.io/blog/mocklab-now-supports-swagger-and-swaggerhub/