如何快速搭建模拟接口服务

792 字
4 分钟
如何快速搭建模拟接口服务

相信大家在移动APP开发中,无论是做安卓还是iOS开发,都会遇到一个很尴尬的问题,接口没有开发好。而请求网络接口数据是开发中开发流程的第一步,因此方便快捷的模拟接口返回数据给APP,有助于提高开发效率。

下面介绍2个工具来搭建模拟接口服务器。

  • moco
  • ngrok

moco#

在过去,我们通常部署一个war包到应用服务器,如Jetty或Tomcat等。我们都知道,开发一个war包然后部署到应用程序服务器太无聊,即使我们使用内嵌服务器,只要我们改变一点点,war包就要重新部署。

moco是一款开源的专注于模拟接口数据的开源工具。它有以下优势:

  • 使用简单:提供下载一个jar文件外加简单的json配置就可运行的方式
  • 配置灵活:可以用独立jar包加载json方式配置,也可以写java代码配置
  • 高度可配置:可以对url,参数,请求方法,返回内容等进行配置
  • 扩展强大:HTTPS,Socket,JUnit 集成,Maven 插件,Gradle 插件,Shell,Scala,满足你不同爱好

例子#

[
{
"response" :
{
"text" : "Hello, Moco"
}
}
]
  • 使用配置文件运行moco独立运行文件.
Terminal window
java -jar moco-runner-<version>-standalone.jar http -p 12306 -c foo.json

更多使用方法,请参考moco的github说明文档


ngrok#

如果是个人开发,一个简单灵活的接口服务器就已经搭建成功了。APP只要把上文的localhost换成运行moco电脑的IP就能请求到模拟的数据。但是,手机和电脑需要同一个局域网。如果是团队开发,或者手机和电脑不在同一个局域网怎么办?ngrok就是用来解决这个问题的。

ngrok提供了一个能够在公网安全访问内网Web主机的工具,能捕获所有HTTP请求的内容,也支持TCP端口映射,支持Linux、Windows、Mac OS X 等平台。

注意 ngrok V1.X的版本是可以免费支持将一个固定的二级域名指向本机的,不过作者已经把 V2.X的版本商业化,我们使用一个国内免费提供的服务。网址 http://qydev.com

  1. 下载windows/linux/mac版本的客户端,解压到你喜欢的目录

  2. 在命令行下进入到解压目录下

  3. 执行 ngrok -config=ngrok.cfg -subdomain xxx 12306 //(xxx 是你自定义的域名前缀,12306是moco的端口)

  4. 如果开启成功 你就可以使用 xxx.tunnel.qydev.com 来访问你本机的 127.0.0.1:12306的服务啦

小技巧#

打开 http://127.0.0.1:4040 可以查看ngrok访问情况。

在linux下,ngrok 不能用 & 实现后台运行,我们可以使用使用screen这个命令,步骤如下:

安装screen apt-get install screen 运行 screen -S

任意名字(例如:ngork) 然后运行ngrok启动命令

最后按快捷键ctrl+A+D即可保持ngrok后台运行

欢迎关注我的公众号

如果这篇文章对你有帮助,欢迎扫码关注公众号,后续会继续分享技术实践、踩坑记录和效率工具。

微信公众号二维码

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
如何快速搭建模拟接口服务
https://suqishuo.cn/how-to-build-api-mock-service/
作者
Ernest
发布于
2017-03-03
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
greenDAO项目实战-ToOne-ToMany实现一对一,一对多关联映射
开发效率在上一篇文章greenDAO项目实战中,我们对GreenDao有了初步的认识。今天我们熟悉一下GreenDao中使用`ToOne`和`ToMany`实现一对一,一对多关联映射。本文在上篇的基础上进行。
2
greenDAO项目实战
开发效率在安卓移动APP开发过程中,一般使用安卓默认的sqlite数据库做数据持久化存储。虽然android提供了ContentProvider等框架支持,但是写SQL语句依然是一件不少程序猿的头疼的事。无论是简单的SQL语句,还是复杂的多表查询,都是影响开发效率的苦力活。幸运的是,我们
3
GitHub上star超过2k的安卓MVP架构指南
架构近日在搜MVP模式作为安卓项目架构时候,发现GitHub上一篇介绍MVP架构的文章。一看star已经超过2K了。通读全文发现作者用实际项目将MVP架构要怎么分职责讲得十分通俗易懂。为了方便大家查阅,把原文翻译了一下。作者还有一篇文章讲安卓项目和代码风格指南的。欢迎查看相关翻译。
4
GitHub上star超过2k的安卓项目和代码风格指南(绝对干货)
最佳实践近日在搜MVP模式作为安卓项目架构时候,发现GitHub上一篇介绍MVP架构的文章。一看star已经超过2K了。作者同项目的这篇文章讲安卓项目和代码风格指南,也非常有参考价值。为了方便大家查阅,把原文翻译了一下。点击查看作者介绍安卓MVP架构指南的翻译文章。
5
Linux 命令手册安卓版
工具前两天逛GitHub时候发现了一个命令行手册项目jaywcjlove/linuxcommand 手册网站,觉得非常实用。GitHub的Pages很方便,但是国内访问有时候比较慢。虽然网上类似的在线手册很多了,但是我觉得一个手册应该是随手可用,而且即使在没有网时候,也可随时翻阅的。
随机文章随机推荐
Profile Image of the Author
Ernest
一个有理想的Android程序员
公告
欢迎关注我的公众号,第一时间获取技术文章与实践记录。
微信公众号二维码
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
29
分类
12
标签
53
总字数
126,599
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.13.6
文章许可
CC BY-NC-SA 4.0

文章目录