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

目录
文章目录隐藏
  1. Controller 是什么?
  2. 创建一个新的 Controller
  3. 路由的配置

本文主要学习 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抓紧创作!

微信微信 支付宝支付宝

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 03.Egg.js教程-如何编写一个新的Controller控制器

发表回复