- mysql模块
是Node.js下一个转么 用于操作mysql数据的模块
属于是第三方模块,需要先去下载安装
npm install mysql
createConnection() 创建普通连接
createPool() 创建连接对象,产生一组连接
query(SQL命令,数组,回调函数) 执行SQL命令,通过回调函数获取结果,数组用于对数据进行过滤,过滤后再去替换占位符(?)
练习:假设获取了一组员工的数据,格式为对象,包含的属性有姓名、性别、生日、工资、部门编号;执行SQL命令,将这条数据差入数据表emp
SQL注入:是一种对数据库的攻击方式,破解了原有了SQL命令,添加新的命令
mysql模块下解决SQL注入:使用占位符,对所有用户提供的值进行过滤
过滤后不再
- 数据接口(RESTfu规范接口)
https://www.apipost.cn/
后端为前提供的动态资源
每次写的一个路由就是一个接口
登录接口
接口地址:http://127.0.0.1:3030/mylogin
请求方式:post
传递的参数:用户名/密码
返回结果:登录成功,欢迎xxx
- 接口地址
代表的是要请求的资源
http://127.0.0.1:3030/v2/users
版本号 资源名称(复数)
http://127.0.0.1:3030/v2/users/login
对资源特殊操作
- 请求方式
对应的是资源的操作方式------增删改查
post 插入数据
delete 删除数据
put 修改数据
get 查询数据
- 传参方式
操作单个资源,使用路由传参
http://127.0.0.1:3030/v2/users/2
添加和修改,使用post传参
从一组数据中进行过滤,例如分页,使用get传递
http://127.0.0.1:3030/v2/users?pno=1&count=10
过滤出工资在6000~8000
http://127.0.0.1:3030/v2/emps?s1=6000&s2=8000
- 返回结果
json -----字符串形式的对象,属性名必须用双引号,属性值如果是字符串的话,也必须用双引号,包含一个人为规定状态码
{"code":200,"msg":"登录成功"}
{"code":500,"msg":"登录失败"}
{"code":200,"msg":"获取成功","date":查询到的数据}
练习:编写文件04_tedu.js,创建WEB服务器,添加员工路由(接口 )(方法:post 请求的URL:/v1/emps ),响应'{"code":200,"msg":"员工添加成功"}'