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.
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.
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.
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.
Sehr einfach in einer Docker Umgebung einzurichten und bietet eine Swagger UI um mit Ihrer Mock API zu spielen.
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.
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.
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
Öffnen Sie http: // localhost: 8443/_spec / , um mit Ihrem Mock Server und der Swagger-Benutzeroberfläche zu spielen
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
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.
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.
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/