03.Egg.js教程-如何编写一个新的Controller控制器

本文主要学习Egg.js里最重要的部分Controller

Controller是什么?

Controller,也就是控制器,简单说Controller负责解析用户的输入,处理后返回相应的结果。但是由于开发形式的不同,Controller的具体作用还是有一些区别的。

  1. RESTful接口中,Controller接受用户的参数,从数据库中查找内容返回给用户或者将用户的请求更新到数据库中。
  2. 在HTML页面请求中,Controller根据用户访问不同的URL,渲染不同的模板得到HTML返回给用户。
  3. 在代理服务器中,Controller将用户的请求转发到其它服务器上,并将其它服务器的处理结果返回给用户。

官方给的建议是Controller层主要对用户的请求参数进行处理(校验、转换),然后调用对应的service方法处理业务,得到业务结果封装并返回。

本文我们主要学习三种用途的第二中,在HTML页面请求中的使用。这也是简单、最好理解的一个使用方法。

创建一个新的Controller

接下来我们自己手写一个Controller.

/app/controller目录下,新建一个文件mybj.js,然后编写下面的代码:

'use strict';

const Controller = require('egg').Controller;

class MybjController extends Controller{
    async index(){
        const { ctx } = this;
        ctx.body = '<h1>I am Mybj</h1>';
    }

}

module.exports = MybjController;

通过自己手写能够让我们熟悉Controller的最简单写法,写完这个Controller后,你在浏览器中是没办法访问到的,这时候你还需要去配置路由。

路由的配置

打开/app目录下的router.js文件。这时候你不用引入,你只用增加如下代码就可以进行访问了。

router.get('/my',controller.jspang.index);

本文的主要目的,就是了解如何编写一个新的Controller,使用Egg.js基本有一半时间都在处理Controller,所以我们有必要详细了解一下。

如果你也是一个新手,建议你还是手写Controller文件,只有动手编写,我们才能领悟更深。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » 03.Egg.js教程-如何编写一个新的Controller控制器

发表回复

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们