egg.js实现一个简单接口

其实脚手架生成的初始项目目录 app/controller/home.js 已经是个简单的例子。我们只要模仿它就好了。

1.在controller文件夹下新建一个js文件-> test.js

'use strict';

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

class TestController extends Controller {
  async index() {
    const { ctx } = this;
    const data = { name: 'xiaoming', age: 23 };
    ctx.body = {
      code: 0,
      msg: 'success!',
      data,
    };
  }
}

module.exports = TestController;

2.在app/router.js 文件添加一个接口

router.get('/getData', controller.test.index);

注意路径不要写错,"test"对应controller文件夹里的文件名

3.在浏览器输入接口地址进行测试:

在这里插入图片描述

因为上述例子为get请求,所以可以直接输入浏览器进行接口请求。如果想要测试其他请求方式比如post请求,则需要借助postman、postwoman等接口工具。


上述的例子是为了简单的介绍如何编写一个egg接口,data为写死的数据,一般而言data是从数据库获取,但数据库获取到的data是异步的,这就需要改变为以下的写法:

'use strict';

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

class TestController extends Controller {
  async index() { // async await 异步
    const dataList = await this.data();
    this.ctx.body = {
      code: 0,
      masg: 'success!',
      data: dataList,
    };
  }

  data() {
    return new Promise(resolve => {
      setTimeout(() => { // 用定时器模拟异步请求
        const data = [
          { id: 1, name: 'xiaoming', age: 11 },
          { id: 2, name: 'xiaohong', age: 22 },
          { id: 3, name: 'xiaogang', age: 33 },
        ];
        resolve(data);
      }, 1000);
    });
  }
}

module.exports = TestController;


在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值