J'ai une référence d'API dans le fichier Swagger. Je veux créer un serveur simulé très simple, de sorte que lorsque j'appelle, par exemple:
mymockurl.com/users
il retournera un json prédéfini (inutile de se connecter à une base de données).
Quelle est la façon la plus simple de faire cela? Je ne suis pas un gars d'arrière-plan.
SwaggerHub fournit un serveur fictif pour les spécifications OpenAPI 2.0 et 3.0. Mocking est pris en charge sur les plans gratuits et payants.
Pour utiliser le serveur fictif, importez vos spécifications dans SwaggerHub et activez "API Auto Mocking". Les réponses factices peuvent être JSON, YAML et XML. Elles sont générées en fonction de vos schémas de réponse et des valeurs example
, default
et enum
définies dans les schémas.
Disclosure: Je travaille pour l'entreprise qui fabrique SwaggerHub.
Un moyen facile de créer une maquette simple à partir d’une spécification OpenAPI (fka. Swagger) sans code consiste à utiliser un outil prisme disponible à l’adresse 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 fictif renvoie une réponse dynamique basée sur la spécification OpenAPI. Si des exemples sont fournis dans la spécification, Prism les renverra, sinon, des données factices basées sur la spécification seront générées.
Compte tenu de la spécification OpenAPI/Swagger, vous pouvez utiliser Swagger Codegen pour générer un stub de serveur dans différents environnements 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 des plus grands contributeurs de Swagger Codegen ont décidé de créer le projet pour créer une version pilotée par la communauté appelée OpenAPI Generator . Veuillez vous référer à Q & A pour connaître les raisons derrière la fourche.
Très facile à installer dans un environnement Docker et fournit un interface utilisateur Swagger pour jouer avec votre faux simulateur.
Avoir une configuration swagger prête dans un fichier du dossier config/petstore.yaml
swagger: "2.0"
info:
version: 1.0.0
title: Swagger Petstore
.
.
.
Vous pouvez copier l'exemple de spécification swagger de here .
Créez un fichier de configuration pour Imposter 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
.
Run Imposter avec Docker
Assurez-vous que votre shell est placé dans le répertoire parent de config
et exécutez-le.
docker run -ti -p 8443:8443 \
-v $(pwd)/config:/opt/imposter/config \
outofcoffee/imposter-openapi
Ouvrez http: // localhost: 8443/_spec / pour jouer avec votre serveur Mock et votre interface utilisateur Swagger.
Voici le conteneur de menu fixe 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
Ceci utilise en interne swagger-mock-api
Je docker a composé Swagger Editor, Swagger UI et le serveur api simulé Swagger pour les gérer plus facilement. Vérifiez-le. Il contient un exemple de spécification swagger afin que l'éditeur, l'interface utilisateur et le serveur d'API simulé s'exécutent sans configuration depuis le début. Tout ce que vous avez à faire est d’éditer les spécifications swagger, d’enregistrer swagger.json et swagger.yaml, puis de redémarrer le menu fixe.
openapi-mock est un wrapper CLI pour swagger-node-runner et sway spécifiquement pour démarrer un serveur fictif à partir d'un fichier spec openapi/swagger.
MockLab prend désormais en charge la génération automatique d’API factices à 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/