您的位置:首页 > Web前端 > Node.js

Node.js+express的接口适配get和post并输出json

2017-01-19 15:17 543 查看
在上一篇Node.js.express的get和post输出json

例如post请求:

var dataSuccess = {
status: '100',
msg: '登录成功',
data: {
userId: '20170113',
userName: 'hgdqstudio',
blog: 'http://hgdqstudio.online'
}
};
var dataError = {
status: '99',
msg: '用户名或密码错误'
};
// 登录接口
router.post('/login',function (req, res, next) {
// 打印post请求的数据内容
console.log(req.body);
console.log(req.body.username);
console.log(req.body.password);
if (req.body.username == "hgdqstudio" && req.body.password == "123456") {
res.end(JSON.stringify(dataSuccess));
} else {
res.end(JSON.stringify(dataError));
}
});


但是这种接口,只能适应
post
这一种请求,如果我们希望后台给的接口支持
post
get


显然上一篇中提到了的
router.get
router.post
都不能满足需求。

express中支持的方式是很多的,具体可以看文档。

我们就需要改造了,用到app.all了。

// 登录接口
router.all('/login',function (req, res, next) {
console.log(req.method);// 打印请求方式
if (req.method == "POST") {
var param = req.body;
} else{
var param = req.query || req.params;
}
console.log(param);
console.log(param.username);
console.log(param.password);
if (param.username == "hgdqstudio" && param.password == "123456") {
res.end(JSON.stringify(dataSuccess));
} else {
res.end(JSON.stringify(dataError));
}
});


改造就很获取请求方式,饭后获取请求里面的参数:

post
请求获取的参数是在
body
里面,

get
请求获取的参数是在
query
里面,后面的
params
暂未发现有什么作用。

然后我们就可以在postman里面测试或是用Node.js.express的get和post输出json

提到的mui.ajax来测试【我使用的十MUI框架写的手机端界面】。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: