【目录】
Nodejs学习笔记(一)——基础之全局对象、包和npm
Nodejs学习笔记(二)——模块
Nodejs学习笔记(三)——同步和与异步之文件系统模块
Nodejs学习笔记(四)——http协议与服务器
Nodejs学习笔记(五)——express框架、路由(器)及中间件
Nodejs学习笔记(六)——Mysql模块
接口:后端为前端提供的动态资源(数据、后台验证)
动态资源就是一个URL形式
一、RESTful接口
(1)URL
所有的资源都需要版本号,复数形式
例:请求员工资源 emps资源名称
http://127.0.0.1:8080/v1/emps 多个资源
版本号 资源名称
http://127.0.0.1:8080/v1/emps/3 单个资源
编号
http://127.0.0.1:8080/v1/users/checkuname 检测用户名
对资源的特殊操作
(2)请求方法
对资源的操作方式
- get 获取资源
- delete 删除资源
- post 新建资源
- put 修改资源
(3)过滤数据
查询的结果有太多的记录,需要过滤想要的数据
例如:分页
http://127.0.0.1:8080/v2/users?pno=1&count=10
页码 每页数据量
例如:获取商品的价格区间
http://127.0.0.1:8080/v2/products?price1=100000&price2=20000
(4)返回结果
包含状态码、信息、数据(不一定都有)
登录的接口
{
code:200,
msg:'登陆成功'
}
获取员工
{
"code": 200,
"msg": "获取成功",
"data": [....]
}
练习:
创建WEB服务器,设置端口
添加路由(get /v1/emps),响应 {“code”: 200, “msg”: “获取成功”}
const express = require('express');
//创建服务器
const mysql = require('mysql');
const app = express();
app.listen(8080);
//创建连接池对象
const pool = mysql.createPool({
host: '127.0.0.1',
post: '3306',
user: 'root',
password: '123456',
database: 'tedu',
connectionLimit: 15
});
//获取员工资源的接口
//通过路由来完成的接口(get /v1/emps)
//http://127.0.0.1:8080/v1/emps/1
app.get('/v1/emps/:eid', (req, res)=> {//路由传参
let obj = req.params;
console.log(obj);
//执行sql命令,查询编号对应的员工
pool.query('select * from emp where eid = ?',[obj.eid], (err, result)=>{
if (err) throw err;
console.log(result);
})
res.send({code:200,msg:'获取成功'});
});