俺的博客都来自工作,因此大部分也是围绕找工作需要展开。虽然前段时间的目标是Go lang,但是工作中一定要考虑下效率,因此,mock Api的事情暂时先用nodejs搞定吧,这个比较熟!
1、环境
nodejs安装可以参考上一博客。
node -v
npm -v
返回既定版本号,就说明安装已经成功了。
2、建立web服务
mkdir myapp
cd myapp
npm init # 一路回车
安装Express
npm install express --save
先写个简单的web服务
const express = require('express')
const app = express();
const port = 3000;
app.get('/',(req,res) => res.send('mock api'));
app.listen(port,()=> console.log(`api listening on port ${port}`));
就是这么简单~~~
3、开始mock
因为有个地方需要处理时间,因此增加moment包
npm install moment --save-dev
代码如下
// 增加access_token 接口mock
app.post('/access_token',(req,res) => {
res.charset = 'utf-8';
res.set('Content-Type', 'application/json');
req = req || {};
req.client_id = req.client_id || '';
req.client_secret = req.client_secret || '';
req.username = req.username || '';
req.password = req.password || '';
req.timestamp = req.timestamp || '';
req.sign = req.sign || '';
req.scope = req.scope || '';
if(req.client_id.trim() == '' ||
req.client_secret.trim() == '' ||
req.username.trim() == '' ||
req.password.trim() == '' ||
req.sign.trim() == '' ){
res.send({
success: false,
resultMessage:'参数有误',
result:{
},
resultCode:1001
});
return;
}
var curr = Date.now();
var mm = moment(curr);
var mm2= moment(curr).add(1,'day');
res.send({
success: true,
resultMessage:'',
result:{
access_token:'1234567890',
time: mm.format('YYYY-MM-DD HH:mm:SS'),
expire_in : mm2.format('YYYY-MM-DD HH:mm:SS')
},
resultCode:null
});
});
// 再mock一个push order接口
app.post('/sendDeliveryStatus',(req,res) => {
res.charset = 'utf-8';
res.set('Content-Type', 'application/json');
req = req || {};
req.token = req.token || '';
req.parameters = req.parameters || {};
if(req.token.trim() != '1234567890' ){
res.send({
success: false,
resultMessage:'auth invalid',
result:{
},
resultCode:5001
});
return;
}
res.send({
success: true,
resultMessage:'',
result:{
},
resultCode:null
});
});
顺便说下,moment类真心好用,处理时间全靠它了!!!
4、执行和测试
node index.js
执行后看到api listening on port 3000,直接访问看到mock api,就一切ok,如果直接访问什么也看不到,请检查下liunx服务器上的防火墙设置,开启3000端口即可。
测试推荐采用postman工具,方便快捷!!!
在此我向大家推荐一个微服务架构学习交流群。交流学习QQ群号:864759589 里面会分享一些资深架构师录制的视频录像:高并发、高性能、分布式、微服务架构的原理,分布式架构等这些成为架构师必备的知识体系。