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.

30
demandé sur rafakob 2016-07-13 10:01:54

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.

11
répondu Helen 2018-06-21 00:54:07

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.

26
répondu Arnaud Lauret 2018-06-21 01:29:55

É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.

10
répondu William Cheng 2018-07-06 13:40:09

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

  1. 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.

  2. 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.

  3. Exécuter Imposteur avec Docker

    Assurez-vous que votre shell est placé dans le répertoire parent de config et exécutez

    docker run -ti -p 8443:8443 \
    -v $(pwd)/config:/opt/imposter/config \
    outofcoffee/imposter-openapi
    
  4. Ouvrir http://localhost:8443/_spec/{[9] } pour jouer avec votre serveur fictif et votre interface utilisateur Swagger

    API simulée d'imposteur

7
répondu u2ix 2018-02-14 08:43:53

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

2
répondu arulraj.net 2017-07-15 12:25:13

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.

0
répondu Alasdair McLeay 2018-02-14 09:44:30

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.

Swagger-tout-en-un-menu fixe-composer

0
répondu Chikara Matsuda 2018-07-27 08:41:25

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/

0
répondu Tom 2018-08-07 11:16:27