Swagger/OpenAPI mock server
我在Swagger文件中有一个API参考。我想创建一个非常简单的模拟服务器,以便当我调用例如:
mymockurl.com/users,它将返回预定义的JSON(无需连接到数据库)。
最简单的方法是什么?我不是后端人。
n
-
该页面已移至stoplight.io/platform/prism-另请参见github.com/stoplightio/prism
-
感谢您澄清" Open API(fka。Swagger)"!我对这个游戏有点晚了。
-
看来此选项"运行"已过时,并且在最新版本的棱镜中不再可用。显然它已被" mock "代替,但是我没有找到"-list "的替代品
-
请注意:棱镜不是开源软件,棱镜本身的许可尚不清楚。 MIT许可安装程序正在下载棱镜的二进制软件包。
-
该团队于2019年5月底添加了Apache 2.0许可证。因此,对软件许可证的了解不再明确。
-
棱镜链接无效,404该页面不存在!
-
它似乎不支持基于条件的不同响应
n
-
伟大的!正是我需要的!我将其标记为答案。我不喜欢的一件事是价格-对于只想拥有几个私有API的自由职业者,应该有一个较小的计划。
-
我可以在网络上本地部署这样的服务器吗?还是只能使用swaggerhub.com完成?
-
@IvanVinogradov SwaggerHub具有SaaS和本地版本,其他答案都提到了可以在本地安装和使用的模拟工具。
-
@Helen是SwaggerHub开源吗?
-
@MaxBarrass号
-
@Helen-我已经定义了多个响应示例,但是由" API自动模拟"提供的我的virt服务器端点仅返回列表中的第一个示例。有没有办法让它每次随机选择一个不同的?
-
@John当前不支持此功能:"如果examples包含多个示例,将使用第一个示例"。请随时提交功能请求。 (但是,如果您可以选择的话,我们的ReadyAPI虚拟化产品将支持随机响应。)
n
-
披露:我是上述项目Imposter的作者。由于原始海报询问了最简单的方法,因此Id还想在remotebot.io/mocks上将您指向Imposter的免费托管版本-托管版本不需要您自己运行任何内容,只需上传Swagger API规范,它将创建一个即时模拟。
-
@outofcoffee我喜欢冒名顶替者,并且发现在Mac上易于设置。只是想知道,是否有可能在Windows计算机中专门使用没有docker的冒名顶替者。
-
@Akash,您好,是的-请参阅文档中的"作为独立Java应用程序运行"部分:github.com/outofcoffee/imposter/blob/master/docs/
-
@outofcoffee,是否提供了一种机制,可基于http返回码动态地获取不同的响应,例如:针对同一API调用的200,404?
-
@kaizenCoder,您好,是的-您可以通过脚本控制响应行为。这使您可以选择要返回的状态代码(以及相应的示例响应)。您可以检查请求的各种属性(标题,参数等),以确定是要返回错误代码还是成功状态代码。规范中针对您指定的状态码的示例将返回。以下是有关脚本响应的一些信息:github.com/outofcoffee/imposter/blob/master/docs/scripting.m d
鉴于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。请参考问
- 这会返回预定义的json响应吗?你能帮@ wing328吗?
-
它可能取决于发电机。请改为在github.com/swagger-api/swagger-codegen/issues中开始讨论。
-
几天前,我打开了一个问题,但没有任何回应:github.com/swagger-api/swagger-codegen/issues/5310我也尝试过使用偏转器,但那里没有运气。如何获取要使用swagger返回的预定义json响应? UI开发人员可能想尝试API,并查看示例响应。
n
n
-
欢迎使用Stack Overflow!虽然链接是共享知识的好方法,但是如果将来它们断开,它们将无法真正回答问题。在回答中添加回答问题的链接的基本内容。如果内容太复杂或太大而无法容纳在此处,请描述所提出解决方案的总体思路。请记住,始终保留指向原始解决方案网站的链接参考。请参阅:我如何写一个好的答案?
n
n
n
-
如果仅通过模拟it服务器从Swagger定义返回示例数据,或者只是不知道如何配置它的我自己...