前面讲了 用Node.js开发静态网页服务,这一篇讲用Node.js开发RESTful API服务,同样是基于 express 框架。
Node 返回 json
比如开发一个用户信息接口,通过get方法返回用户信息:
var express = require('express')
var app = express()
var json = {
code: 200,
msg: '请求成功',
data: {
userId: '123456',
name: 'Terry',
blog: 'https://yunm.coding.me'
}
}
app.get("/", function (req, res) {
res.send(json)
})
app.listen(5438, function () {
console.log("启动服务 http://localhost:5438 ")
})
运行代码,打开 http://localhost:5438 ,就可以看到返回的json:
Node 连接 MySQL 数据库
Node可以很方便地从MySQL数据库查询数据并返回,例如查询年龄为20的用户信息,封装成 RESTful 接口:
var express = require('express');
var app = express();
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'xxxx',
database : 'userdb'
});
connection.connect();
connection.query('select * from user where age=20', function (error, results) {
if (error) throw error;
app.get('/',function (req, res) {
res.send(results);
})
});
app.listen('5000', function () {
console.log('启动服务 http://localhost:5000');
});
运行代码,打开 http://localhost:5000 ,就可以看到返回的json:
当然了,现阶段node貌似更适合快速开发小型服务,大型系统还是要用Spring Cloud等做服务注册发现,做高可用。