NODEJS day

NODEJS day,第1张

一、mysql模块

在Node.js下,专门 *** 作mysql数据库的模块

属于第三方模块,需要下载安装

npm install mysql

createConnection() 创建连接对象

createPool()   创建连接池,可以创建多个连接

multipleStatements:true   //开启一次执行多个SQL命令,多个直接用分号隔开

connect() 测试连接,可以省略

query(SQL命令,回调函数)    执行SQL命令,通过回调函数获取结果

        回调函数(err,r)

                err 可能产生的结果

                r 执行成功的结果

练习,执行SQL命令,删除编号为5的员工

练习:声明一个变量保存传递的一个员工的姓名,执行SQL命令,查询出该员工

SQL注入攻击:让用户提供的值里边,破坏了原来的SQL命令结构,添加的新的命令

 防止SQL注入:

        将所有用户提供的值进行过滤,不会破坏 SQL命令

利用set使用对象

        对象属性的顺序与数据库端需要插入的值顺序不一致不影响使用

假设获取了浏览器端传递的一个员工数据,格式为对象,包含的属性有姓名,性别,生日,工资,部门编号;

执行SQL命令,将数据插入到员工表emp

连接池和multipleStatements示例:

 

 二、接口(API)

数据接口,要与JS的API区分开

接口:WEB服务器提供的动态资源,之前Node.js下,写的路由就是接口

三、RESTful接口

是一种接口的规范

1.返回结果

是JSON对象形式,字符串的对象,属性名必须是双引号,属性值如果是字符串也必须是双引号

包含有状态码和结果信息 

'{"code":200,"msg":"查找成功"}'

如果需要响应一组数据

'{"code":200,"msg":"查找成功","data":数据}'

2.接口地址

每一个接口是一个资源,资源名称都是一复数的形式

接口是一套软件,需要添加版本号,加在资源前面

例如:emp->emps   uid->uids
          http://127.0.0.1:3000/v1/emps/detail/3

                                    版本号  资源名称

3.请求方式

get       获取资源(查询数据)

post     新建资源(插入数据)

delete  删除资源(删除数据)

put       修改资源(修改数据)

4.传参方式

post传递:修改资源和新建资源

params传递: *** 作单个资源,例如:获取1号员工数据,删除5号员工数据

         http://127.0.0.1:3000/v1/emps/detail/3

get传递:过滤数据,例如:查询以后获取很多数据,拿到工资在6000-8000之间的

        http://127.0.0.1:3000/v1/emps/?s1=6000&s2=8000

        例如:查询出用户列表中第1页数据

        http://127.0.0.1:3000/v1/emps/?pno=1&count=10        页码&每页数据

二~三综合练习:编写文件04_tedu.js,使用express创建WEB服务器,设置端口,添加路由(get  /detail),使用params传参,传递员工编号,响应‘这是一个员工’

浏览器只能直接请求get形式的接口,其他接口不能直接请求

测试接口:需要使用专门的接口测试工具 

APIPost:接口测试工具,可以生成接口使用文档

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1322490.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存