web-dev-qa-db-ger.com

Swagger Mock Server

Ich habe eine API-Referenz in der Swagger-Datei. Ich möchte einen sehr einfachen Mock-Server erstellen, damit ich beim Aufruf zB:

mymockurl.com/users gibt einen vordefinierten json zurück (keine Verbindung zu einer Datenbank erforderlich).

Wie geht das am einfachsten? Ich bin kein Backend-Typ.

45
rafakob

SwaggerHub bietet Mock-Server für OpenAPI 2.0- und 3.0-Spezifikationen. Das Verspotten wird sowohl für kostenlose als auch für kostenpflichtige Pläne unterstützt.

Um den Mock-Server zu verwenden, importieren Sie Ihre Spezifikation in SwaggerHub und aktivieren Sie "API Auto Mocking". Scheinantworten können JSON, YAML und XML sein und werden basierend auf Ihren Antwortschemata und den in den Schemata definierten Werten example, default und enum generiert.

Offenlegung: Ich arbeite für die Firma, die SwaggerHub macht.

18
Helen

Eine einfache Möglichkeit, aus einer OpenAPI-Spezifikation (fka. Swagger) ohne Code einen einfachen Mock zu erstellen, ist die Verwendung eines Toolaufrufs prism , der unter http: //github.com/stoplightio/ verfügbar ist. Prisma

Diese Befehlszeile ist alles was Sie brauchen:

./prism run --mock --list --spec <your swagger spec file>

Der Mock-Server gibt eine dynamische Antwort basierend auf der OpenAPI-Spezifikation zurück. Wenn die Spezifikation Beispiele enthält, werden diese von Prisma zurückgegeben. Andernfalls werden Dummy-Daten basierend auf der Spezifikation generiert.

29
Arnaud Lauret

In Anbetracht der OpenAPI/Swagger-Spezifikation können Sie Swagger Codegen verwenden, um einen Server-Stub in verschiedenen Server-Frameworks zu generieren (z. B. Java Spring. PHP = Slim, Ruby auf Rails5 usw.).

Hier ist die zugehörige Dokumentation:

https://github.com/swagger-api/swagger-codegen/wiki/Server-stub-generator-HOWTO

UPDATE: Im Mai 2018 beschlossen etwa 50 Top-Autoren von Swagger Codegen, das Projekt auf eine Community-basierte Version mit dem Namen OpenAPI Generator umzustellen. Beziehen Sie sich bitte auf Q & A für die Gründe hinter der Gabel.

12
William Cheng

Imposter ist ein skriptfähiger Mehrzweck-Mock-Server .

Sehr einfach in einer Docker Umgebung einzurichten und bietet eine Swagger UI um mit Ihrer Mock API zu spielen.

Sehen wir uns ein Beispiel-Setup an

  1. Halten Sie eine Swagger-Konfiguration in einer Datei im Ordner config/petstore.yaml Bereit.

    swagger: "2.0"
    info:
    version: 1.0.0
    title: Swagger Petstore
        .
        .
        .
    

    Sie können die Beispielspezifikation von Swagger aus hier kopieren.

  2. Erstellen Sie eine Konfigurationsdatei für Imposter in config/openapi-plugin-petstore-config.json

    {
      "plugin": "com.gatehill.imposter.plugin.openapi.OpenApiPluginImpl",
      "specFile": "petstore.yaml"
    }
    

    Der Name der Konfigurationsdatei muss mit -config.json Enden.

  3. Führen Sie Imposter mit Docker aus

    Stellen Sie sicher, dass sich Ihre Shell im übergeordneten Verzeichnis von config befindet, und führen Sie es aus

    docker run -ti -p 8443:8443 \
    -v $(pwd)/config:/opt/imposter/config \
    outofcoffee/imposter-openapi
    
  4. Öffnen Sie http: // localhost: 8443/_spec / , um mit Ihrem Mock Server und der Swagger-Benutzeroberfläche zu spielen

    Imposter Mock API

8
u2ix

Hier ist der Docker-Container für Mock-API-Server von Swagger Yaml.

docker run -i \
    -p 8000:8000 \
    -v /path/to/file.yaml:/data/swagger.yaml \
    -t palo/swagger-api-mock:latest

Dies ist intern mit swagger-mock-api

3
arulraj.net

Ich habe Swagger Editor, Swagger UI und Swagger Mock API Server zusammengestellt, um sie einfacher zu handhaben. Hör zu. Es gibt eine Beispielspezifikation für Swagger, sodass der Editor, die Benutzeroberfläche und der Mock-API-Server von Anfang an ohne Konfiguration ausgeführt werden. Sie müssen lediglich die Swagger-Spezifikation bearbeiten, swagger.json und swagger.yaml speichern und docker neu starten.

swagger-all-in-one-docker-compose

1
Chikara Matsuda

openapi-mock ist ein CLI-Wrapper für swagger-node-runner und sway , um einen Mock-Server aus einer openapi/swagger-Spezifikationsdatei heraus zu starten.

0
Alasdair McLeay

MockLab unterstützt jetzt die automatische Generierung von Schein-APIs aus einer importierten Swagger-Definition. Sie können es auch als Webhook einrichten, das in Swaggerhub empfangen wird, damit es bei jedem Speichern/Veröffentlichen aktualisiert wird:

https://www.mocklab.io/blog/mocklab-now-supports-swagger-and-swaggerhub/

0
Tom