܄

如何在开发过程中搭建简单的假数据服务器

【数据猿导读】 在开发一块新功能的过程中,我们通常会涉及到与后端接口联调的问题。新的界面、新的后口,这时候在开发的时候往往前端就很尴尬,后端不依赖前端,但是前端十分依赖后端。大部分应用都会有或多或少地依赖后端数据,有的界面只需要简单搞个假数据传入即可,本文将重点分享如何在开发过程中...

如何在开发过程中搭建简单的假数据服务器

在开发一块新功能的过程中,我们通常会涉及到与后端接口联调的问题。新的界面、新的后口,这时候在开发的时候往往前端就很尴尬,后端不依赖前端,但是前端十分依赖后端。

大部分应用都会有或多或少地依赖后端数据,有的界面只需要简单搞个假数据传入即可,但是我们还需要应对很多复杂情况,比如:

  • 处理无数据、返回错误、各类非正常的状态;
  • 处理分页数据的情况;
  • 模拟一个请求中、请求失败、请求结果返回的情景;

这时候如果能够写一个简单的服务器,你请求真实的接口url,只需要给手机设置一个代理,就返回你设置的假数据。这样你就可以完全抛开其他依赖的顾虑,可以像正常情况一样开发、校验结果,而不是依赖写死在代码里的各种假逻辑(这样做也会为后面的开发带来一些隐患)。

实际上服务器本身的逻辑是非常简单的,但是要真正得搭建成你所需要的环境,需要一些复杂功夫。本文以nodejs为例,具体描述一下如何在本机上搭建测试服务器。

使用node搭建起简单的服务器脚本

1. 安装

Unix 用户可以使用命令行安装nodejs。

Windows 用户可以直接下载安装包。

安装成功后如果在命令行下输入 node -v 能够打印出版本信息,说明安装成功了。

2. 简单服务器

3. IDE配置

从IDE环境切换到脚本环境来写代码总会不顺手,推荐一个我认为比较容易上手的配置吧:

  • 编辑器 Sublime Text 3,没啥好说的,好用。
  • 代码补全 TernJS , Tern-Sublime ,是js下代码提示、补全的利器,极其推荐!
  • 错误检查 ESLint , SublimeLinter-ESLint 是一款js的静态检查、错误提示的利器,Sublime的插件也非常好用,配置很简单。

配上这三个,你就会觉得用起来已经蛮舒服了。

Nginx反向代理

nginx 搭建服务器的强大处之一就是它的代理能力,配置也十分简洁。

如果要模拟最终的请求的话,我们应该是原封不动的保留请求url: ‘www.desmond.com/api/something’。首先我们需要 在手机上设置代理,将ip配置到自己电脑上,端口配为80 。但是你的电脑识别到这个请求后,怎么让它导流到你的node服务器,这是一个问题。如果你代码写死的ip+端口来访问,未免有点太low了,我们既然折腾了这么多,那可以继续往下走一步: 反向代理 。

反向代理,简而言之,就是一个分发请求的代理。 前向代理 是直接发给目标服务器,但是它会做一些额外的处理工作。反向代理不一样,它自己相当于是一个服务器,请求到它手里,它根据请求去不同服务器上拉取数据。

1. 安装Nginx

Linux用户可以使用命令行:

OSX用户可以用Homebrew:

Windows用户可以 下载安装包

2. 配置代理

我们希望针对’www.desmond.com/api/something’下的url交由node服务器(2333端口)处理,其他情况下继续发送,可以在 nginx.conf 里面这么配置(可以在命令行下输入 nginx -t 找到配置文件位置):

这里如果希望原路继续的那些url域名解析配合你的 host (此处使用 8.8.8.8 来做DNS解析),你可以参考 StackOverflow的一个提问 。

这样一来,你所有手机上访问的 www.desmond.com/api/something 就导到你的nodejs服务器上啦,尽情配置假数据来测试吧~~


来源: Desmond Yao

声明:数据猿尊重媒体行业规范,相关内容都会注明来源与作者;转载我们原创内容时,也请务必注明“来源:数据猿”与作者名称,否则将会受到数据猿追责。

刷新相关文章

旅游交通大数据——大众旅游时代的“富矿”
旅游交通大数据——大众旅游时代的“富矿”
#榜样的力量#疾控AI分析平台WDCIP——以科技力量贡献“大数据”智慧丨数据猿新冠战“疫”公益策划
#榜样的力量#疾控AI分析平台WDCIP——以科技力量贡献“大数...
张涵诚:大数据招商平台可推动地方供给侧改革
张涵诚:大数据招商平台可推动地方供给侧改革

我要评论

精品栏目

[2017/12/19]

大数据24小时

More>

[2017/12/18-22]

大数据周周看

More>

[2017/12/18-22]

大数据投融资

More>

[2017/12/18-22]

大咖周语录

More>

[2017/12/13-20]

大数据周聘汇

More>

[2017/12/12-19]

每周一本书

More>

返回顶部