背景有时候遇到需要快速搭建一个测试服务,比如这样:“搭建一个HTTP服务,这个服务器可以在本地运行,还需要可以从公网访问,通过请求这个服务可以得到一组自定义的JSON数据,不为别的,只是为了临时的快速测试。这个时候我想用最短的速度完成,比如一分钟之内把它写出来,这个时候你能做什么呢?比如你可能已经想到了,运行Flask或者FastAPI,修改sample代码,然后使用单个命令运行Python。例如,代码如下所示:运行命令:uvicornmain:app--reloadOK,说是自定义JSON就搞定了。但是我想添加需求,我想支持跨域访问,怎么办呢?这时候可能会搜索FastAPIcors关键字,然后找到https://fastapi.tiangolo.com/tutorial/cors/文档,然后添加一些这样的配置:fromfastapi.middleware.corsimportCORSMiddlewareapp=FastAPI()origins=["http://localhost.tiangolo.com","https://localhost.tiangolo.com","http://localhost","http://localhost:8080",]app.add_middleware(CORSMiddleware,allow_origins=origins,allow_credentials=True,allow_methods=["*"],allow_headers=["*"],)...没关系吧。现在又改了要求,要退图片怎么办?想要退回文件怎么办?想要HTTPS访问怎么办?如果我不熟悉代码编写怎么办?为了搞这个API服务,我得花上半个多小时,得不偿失。毕竟大家都很忙。所以我会想,为什么要写代码来解决这些简单的事情呢?没有工具可以通过一些可视化的配置来完成吗?如果你也有这个痛点,请继续往下看。如果没有,既然来了,那我们就继续看看吧。。。解决方案所以现在我的需求是:想通过一个方便的工具快速搭建一个APIServer,可以配置返回JSON或者图片或者文件等等,甚至是动态路由、动态转发等功能,如果这些步骤都可以通过可视化的图形界面来完成就更好了。来了,今天给大家推荐一个工具,叫做Mockoon。Mockoon是一款可以帮助我们通过图形界面快速构建API服务的工具。支持数据模拟、路由分析、跨域访问、HTTPS、自定义延迟、Docker等你想要的功能,支持Windows、Mac、Linux,整体页面是这样的:这种布局类似于PostMan。例如,在左侧,我们可以一个一个地配置一个请求列表。点击它可以在右侧配置详细信息,比如配置的是GET还是POST请求,路径是什么,ResponseBody是什么,ResponseHeaders是什么,还有一些规则和基本设置。另外我可以在最上面配置运行主机和端口,然后左上角有个运行按钮,相当于启动服务器。启动后按钮会变成红色,再按一下就会停止。比如这里我是配置在本地3894端口运行:那么我修改Body:{"data":[{"id":1,"name":"Picture3","url":"https://qiniu.cuiqingcai.com/l4ol8.jpg"},{"id":2,"name":"Picture2","url":"https://qiniu.cuiqingcai.com/zy2w3.jpg"},{"id":3,"name":"Picture1","url":"https://qiniu.cuiqingcai.com/v10oo.jpg"}]}这里我返回一个JSON格式的列表,包含三个字段.然后我要配置跨域访问,只需要添加一个ResponseHeader:Access-Control-Allow-Origin:'*'然后点击左上角的运行按钮即可。Mockoon也提供了一个快速访问功能,然后点击右上角的打开按钮:浏览器会打开,然后就可以看到数据了:咔咔咔,就这样,我们通过一个非常简单的可视化配置,熟练的话一分钟搞定。有了这个,我不想再写代码搭建服务器了。。。另外,HTTPS,多请求处理,日志,路由,模板配置等功能太多了。文档很好:Cors:https://mockoon.com/docs/latest/cors/HTTPS:https://mockoon.com/docs/latest/https/导入/导出数据:https://mockoon.com/docs/latest/import-export-data/多重响应:https://mockoon.com/docs/latest/multiple-responses/代理模式:https://mockoon.com/docs/latest/proxy-mode/请求日志记录:https://mockoon.com/docs/latest/requests-logging/响应头:https://mockoon.com/docs/latest/response-headers/路由:https://mockoon.com/docs/latest/routing/Templating:https://mockoon.com/docs/latest/templating/此外,Mockoon还支持命令行。比如可以通过mockoon-cli快速创建一个APIServer,如图:命令行的使用和安装可以参考:https://github.com/mockoon/cli#installation以上是一个本工具简单介绍,更多功能等你探索!
