koa中的控制器

什么是控制器

路由的功能是根据不同的 url, 来分配不同的任务.
控制器是拿到路由分配的任务并执行.
注册在路由中的中间件就是控制器

所以在 koa 中, 控制器也是一个中间件

为什么要用控制器

  1. 用它可以获取 HTTP 请求参数

Query String(可选), 如谷歌的 ?q=keyword
Router Params(放必选参数), 如/user/:id
Body 请求体(), 常常用 json 表示, 如{ name: ‘mike’ }
Header, 如 accept, cookie

  1. 处理业务逻辑,比如获取,计算,存储数据等
  2. 根据不同情况,发送不同 HTTP 响应,比如失败,成功等

发送 status, 如 200/400
发送 Body,这里是返回内容, restfulapi 里返回的常常是 json, 但是传统 web 开发也会返回 html
发送 Header, 如 Allow, Content-Type(告诉客户端返回的格式应该用什么方式解析, restful api 里面常常是 json)

编写控制器的最佳方式或格式

  • 每个资源的控制器放在不同文件里

比如用户相关的控制器, 都放在用户文件里
评论相关的, 放在评论文件里

  • 尽量使用类 + 类方法的形式编写控制器

每个文件里都有很多控制器, 比如用户资源的控制器不止一个. 这些不要写成单独的几个方法
因为中间件虽然本质是方法, 但是不要写成多个方法导出, 最好集成在同一个类里面,比如写成 class, 把控制器都写成类的类方法. 这样使得可读性高, 而且都代表一类, 可以共享类的变量和方法

  • 严谨的错误处理

比如传来的参数都要校验, 不能相信客户端传来的参数, 而且逻辑上的错误也要检查, 并报出错误信息


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值