注意三种查询参数的区别
- 路由映射参数
- 从req.params中获取
- get方法,路由拼接参数
- 从req.query中获取
- post/put方法,body中传递
- 从req.body中获取
查询接口
查询列表
创建routes/admin/webs.js路由映射文件,注意:
- await/async异步处理
- condition条件查询
- order 控制排序
- where 条件查询
- try/catch异常捕获
- 返回值格式
1 | const express = require('express'); |
在app.js中引入,并进行路径映射:
1 | const adminWebsRouter = require('./routes/admin/webs') |
查询http://localhost:3000/admin/webs
即可查询出数据
查询详情
查询详情接口需要注意:
- 从request.params中获取id
- 注意处理id未找到的情况
1 | /** |
新增接口
新增
新增接口注意事项:
- 创建了新的资源,返回状态码201
- 使用create创建新的数据
- 对req.params中的数据进行白名单筛选
1 | /** |
删除接口
删除注意事项
- 使用destroy方法
- 删除之前先寻找对应id数据是否存在
1 | /** |
更新接口
更新接口注意
- 使用update方法进行更新
- 先根据id查询数据是否存在,再进行更新
1 | /** |
模糊搜索
模糊搜索
模糊搜索使用的sql语句:
1 | select * from Articles where title like '%标题 10%'` |
sequelize中,想要使用模糊搜索,需要用到Op:
1 | const { Op } = require('sequelize'); |
在condition中添加where属性:
1 | /** |
分页查询
分页查询
分页查询的sql语句:
1 | SELECT * FROM `Articles` LIMIT offset, limit; |
分页查询注意事项:
- 根据currentPage和pageSize,手动计算offset
- 使用findAndCount方法
- condition条件中加入offset和limit属性
- 从返回值中手动提取rows和count值
1 | router.get('/',async (req,res)=>{ |