### 路由定义
<br>
路由的配置文件统一写在 ``route`` 目录下,统一导出一个函数,路由配置写在这个函数内
```
module.exports = (route) => {
// 分组,无中间件的一组GET和POST路由
route.group('/api/v1',(router) => {
router.get('/hello','hello/sayHello')
router.post('/world','hello/sayWorld')
})
// 未分组,无中间件的GET路由
route.get('/','hello/homeList')
}
```
<br>
> ### GET 路由
```
route.get('<路由地址>','<控制器文件名称>/<控制器方法名称>')
```
<br>
> ### POST 路由
```
route.post('<路由地址>','<控制器文件名称>/<控制器方法名称>')
```
<br>
> ### 控制器分级写法
```
route.post('<路由地址>','<文件夹名称/控制器文件名称>/<控制器方法名称>')
```
<br>
> ### 分组路由
```
route.group('<分组前缀名>',(router) => {
router.get('<路由地址>','<控制器文件名称>/<控制器方法名称>')
router.post('<路由地址>','<控制器文件名称>/<控制器方法名称>')
})
```
<br>
> ### 使用路由中间件
```
const checkLogin = require('@/middleware/checkLogin.js')
// 路由配置
module.exports = (route) => {
// 在普通路由上挂载路由中间件
route.post('<路由地址>','<控制器文件名称>/<控制器方法名称>',checkLogin)
// 在分组路由上挂载路由中间件,整个分组内的路由都会通过这个中间件
route.group('<分组前缀名>',(router) => {
router.get('<路由地址>','<控制器文件名称>/<控制器方法名称>')
},checkLogin)
})
```
互相搭配可以有多种写法
- 序言
- 新手指南
- 安装
- 开发规范
- 目录结构
- 配置
- 路由
- 路由定义
- 路由中间件
- 控制器
- 控制器定义
- 内置showSuccess方法
- 内置ApiException方法
- 参数获取器getParams
- 网络请求器Fetch
- 内置工具函数
- JWT的使用
- 验证
- 验证器
- 验证规则
- 自定义验证规则
- 混合验证规则
- 分场景验证
- 数据库
- 连接数据库
- 查询数据
- 链式操作
- where
- whereOr
- whereBetweenTime
- limit
- page
- count
- order
- field
- alias
- group
- distinct
- 添加数据
- 更新数据
- 删除数据
- 联表查询
- SQL调试
- 模型
- 视图
- 模板渲染(废弃)
- 模板变量(废弃)
- 错误和日志
- 异常处理
- 日志处理
- 命令行
- 扩展库
- 使用Redis
- get
- set
- del
- hget
- hset
- hdel
- decrby
- incrby
- rpush
- rpop
- 使用MongoDB
- 模型
- 新增
- 删除
- 修改
- 查询
- 使用ElasticSearch
- 使用阿里云OSS
- 阿里短信服务
- 微信支付
- 支付宝支付
- 部署
- 更新日志