mymockurl.com/users
时,它会返回预定义的JSON(无需连接到数据库)。
最简单的方法是什么?我不是后端开发人员。
mymockurl.com/users
时,它会返回预定义的JSON(无需连接到数据库)。
最简单的方法是什么?我不是后端开发人员。
使用一个名为 prism 的工具,你可以轻松地从 OpenAPI(之前被称作 Swagger)规范中创建简单的模拟数据而无需编写代码。该工具由 Typescript 编写,可在 http://github.com/stoplightio/prism 上获得。
你只需要这个命令行:
./prism run --mock --list --spec <your swagger spec file>
模拟服务器将根据OpenAPI规范返回动态响应。
如果规范中提供了示例,prism将返回它们;否则,它将根据规范生成虚假数据。
编辑(2020年8月):
最新版本中命令已更改。以下内容可行:
prism mock <your spec file>
它也接受Swagger和Postman文档。
SwaggerHub 提供了 OpenAPI 2.0 和 3.0 规范的 模拟服务器。无论是免费计划还是付费计划都支持模拟。
要使用模拟服务器,请将您的规范导入 SwaggerHub,并启用“API自动模拟”。模拟响应可以是 JSON、YAML 和 XML 格式,并基于您的响应模式以及在模式中定义的 example
、default
和 enum
值生成。
声明: 我为 SwaggerHub 的制造公司工作。
examples
包含多个示例,则将使用第一个示例"_。请随时提交功能请求。(但是,如果您愿意,我们的ReadyAPI Virtualization产品支持随机响应。) - HelenImposter 是一个用 Java 编写的可编程、多功能的模拟服务器。
在 Docker 环境中非常容易设置,并提供了一个 Swagger UI 来玩弄您的模拟 API。
让我们看一个设置示例:
准备好一个 Swagger 配置文件,放在文件夹 config/petstore.yaml
中
swagger: "2.0"
info:
version: 1.0.0
title: Swagger Petstore
.
.
.
您可以从此处复制示例Swagger规范。
在config/openapi-plugin-petstore-config.json
中为 Imposter 创建配置文件
{
"plugin": "com.gatehill.imposter.plugin.openapi.OpenApiPluginImpl",
"specFile": "petstore.yaml"
}
配置文件的名称必须以-config.json
结尾。
使用Docker运行Imposter。
确保您的shell在config
的父目录中,并运行以下命令:
docker run -ti -p 8443:8443 \
-v $(pwd)/config:/opt/imposter/config \
outofcoffee/imposter-openapi
打开 http://localhost:8443/_spec/ 来使用模拟服务器和Swagger UI
根据 OpenAPI/Swagger 规范,您可以使用 Swagger Codegen 在不同的服务器框架(例如 Java Spring、PHP Slim、Ruby on Rails5 等)中生成服务器存根。
以下是相关文档:
https://github.com/swagger-api/swagger-codegen/wiki/Server-stub-generator-HOWTO
更新:在2018年5月,大约50个最重要的 Swagger Codegen 贡献者决定分叉该项目,以创建一个由社区驱动的版本,称为 OpenAPI Generator。请参阅 Q&A 了解分叉背后的原因。
这里是从Swagger yaml生成模拟API服务器的 Docker容器。
docker run -i \
-p 8000:8000 \
-v /path/to/file.yaml:/data/swagger.yaml \
-t palo/swagger-api-mock:latest
这是内部使用swagger-mock-api来实现的。
Mock Server项目支持根据Swagger/OpenAPI规范创建存根。
最近我发现了Microcks.io,它帮助我解决了许多问题。 同时也发现了Apicur.io用于编辑/创建swagger文件。这是一个值得采纳的标准。