已被阅读 1601 次 | 文章分类:nodejs | 2018-11-26 22:52
作为一个Javascript前端开发者,在全栈开发的路上,可以选择java、c#开发后台接口;但是目前nodejs如此之火,可以继续使用javascript利用nodejs技术栈开发后台,绝对如虎添翼;本节就是用nodejs web开发框架老大哥express带你认识restful
一:简单认识实现流程
1. 首先有一个简单工程,也就是目录结构嘛,新建一个文件夹,然后在根目录执行下面命令;推荐使用vscode编辑器;小编使用两年了,感觉真心不错
npm init // 初始化一个package.json文件,注意name只能英文小写
npm install --save express // 安装express 框架
2. 新建demo.js,键入如下代码
// 引入express模块 commonjs规范引入
const express = require('express')
// 实例化 express
const app = express()
// 定义要返回的值,后面可以从数据库查询返回
let json = {
code: 200,
msg: '请求成功',
data: {
userId: '123456',
name: 'xiaobai',
blog: 'http://www.xiaobaigis.com'
}
}
// 定义接口类型以及地址
app.get("/api/getdata", function (req, res) {
res.send(json)
})
// 启动服务器
app.listen(5438, function () {
console.log("启动服务 http://localhost:5438 ")
})
3. 在根目录打开命令窗口,如果是vscode新建终端即可;输入node demo.js,进行测试
可以用专业接口测试工具fiddler、postman等,都一样好实用;后面会有涉及到,这里着重在认识restful接口
4. 修改默认状态,查询成功的默认状态是200,如下
可自定义返回状态值,一般使用默认值,只有在接口出错时,后台可以任意规定4开头或者5开头的代码
res.status(201);
二:从数据库查询
上面定义了返回的json数据,现在从数据库读取并将其返回;这里以MySQL数据库为例;(数据库配置和sql语句建议以模块单独编写,方便维护,此处为demo简便放在一起,不赞成)
1. 需要再安装一个模块:mysql;如果是其他数据库则安装相应模块即可
npm install --save mysql
2. 代码如下,实现流程和上面一样,引入mysql模块,连接数据库,查询数据,再返回数据;
const express = require('express')
const app = express()
const mysql = require('mysql');
const db_conf={
mysql:{
host: 'localhost',
user: 'root',
password: '123456',
database: 'user_db'
}
} ;
let connection = mysql.createConnection(db_conf.mysql);
connection.connect(function(err){
if(err){
console.log('Database connection error');
}else{
console.log('Database connection successful');
}
});
app.get('/api/getusers',function (req, res) {
connection.query('select * from user', function (error, results) {
if (error) {
throw error;
}else{
res.send(results);
}
})
});
app.listen(5438, function () {
console.log("启动服务 http://localhost:5438 ")
})
QQ:3410192267 | 技术支持 微信:popstarqqsmall
Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号