example - Servidor simulado Swagger
swagger yaml example (8)
Imposter es un servidor simulado de scriptable y multipropósito .
Muy fácil de configurar en un entorno Docker y proporciona una interfaz de usuario Swagger para jugar con su simulación de API.
Veamos un ejemplo de configuración
-
Tenga una configuración swagger lista en un archivo en la carpeta
config/petstore.yaml
swagger: "2.0" info: version: 1.0.0 title: Swagger Petstore . . .
Puede copiar la especificación de swagger de ejemplo desde here .
-
Cree un archivo de configuración para Imposter en
config/openapi-plugin-petstore-config.json
{ "plugin": "com.gatehill.imposter.plugin.openapi.OpenApiPluginImpl", "specFile": "petstore.yaml" }
El nombre del archivo de configuración debe terminar con
-config.json
. -
Ejecute Imposter con Docker
Asegúrese de que su shell esté ubicado en el directorio principal de
config
y ejecutedocker run -ti -p 8443:8443 / -v $(pwd)/config:/opt/imposter/config / outofcoffee/imposter-openapi
-
Abra http://localhost:8443/_spec/ para jugar con su Mock Server y Swagger UI
Tengo una referencia de API en el archivo Swagger. Quiero crear un servidor simulado muy simple, para que cuando llame, por ejemplo:
mymockurl.com/users
devolverá un json predefinido (no es necesario conectarse a una base de datos).
¿Cuál es la forma más fácil de hacer esto? No soy un chico de backend.
Aquí está el contenedor docker para el servidor simulado de api de swagger yaml.
docker run -i /
-p 8000:8000 /
-v /path/to/file.yaml:/data/swagger.yaml /
-t palo/swagger-api-mock:latest
Esto está usando internamente swagger-mock-api
Dada la especificación OpenAPI / Swagger, puede usar Swagger Codegen para generar código auxiliar de servidor en diferentes marcos de servidores (por ejemplo, Java Spring. PHP Slim, Ruby on Rails5, etc.).
Aquí está la documentación relacionada:
https://github.com/swagger-api/swagger-codegen/wiki/Server-stub-generator-HOWTO
ACTUALIZACIÓN: en mayo de 2018, unos 50 contribuyentes principales de Swagger Codegen decidieron bifurcar el proyecto para crear una versión impulsada por la comunidad llamada OpenAPI Generator . Consulte las Q&A para conocer los motivos detrás de la bifurcación.
Docker compuso Swagger Editor, Swagger UI y Swagger mock api server para manejarlos más fácilmente. Echale un vistazo. Hay una especificación de muestra de swagger en esto, por lo que el Editor, la IU y el servidor de API simulado se ejecutarán sin ninguna configuración desde el principio. Todo lo que necesita hacer es editar la especificación de swagger, guardar swagger.json y swagger.yaml y reiniciar docker.
MockLab ahora admite la generación automática de API simuladas a partir de una definición Swagger importada. Y también puede configurarlo como un webhook recibido en Swaggerhub para que se actualice en cada guardado / publicación:
https://www.mocklab.io/blog/mocklab-now-supports-swagger-and-swaggerhub/
Una manera fácil de crear simulacros simples a partir de una especificación OpenAPI (fka. Swagger) sin código es usar una herramienta llamada prism disponible en http://github.com/stoplightio/prism
Esta línea de comando es todo lo que necesitas:
./prism run --mock --list --spec <your swagger spec file>
El servidor simulado devolverá una respuesta dinámica basada en la especificación OpenAPI. Si se proporcionan ejemplos en la especificación, el prisma los devolverá, de lo contrario generará datos ficticios basados en la especificación.
SwaggerHub proporciona un servidor simulado para las especificaciones OpenAPI 2.0 y 3.0. La burla es compatible con los planes gratuitos y de pago.
Para usar el servidor simulado, importe su especificación en SwaggerHub y habilite "API Auto Mocking".
Las respuestas simuladas pueden ser JSON, YAML y XML, y se generan en función de sus esquemas de respuesta y el
example
, valores
default
y
enum
definidos en los esquemas.
Divulgación : trabajo para la empresa que fabrica SwaggerHub.
openapi-mock es un contenedor CLI para swagger-node-runner y se sway específicamente para iniciar un servidor simulado desde un archivo de especificaciones openapi / swagger.