egg 项目里从 Service 内获取模拟数据

Posted 凯小默

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了egg 项目里从 Service 内获取模拟数据相关的知识,希望对你有一定的参考价值。

前言

先不接 mysql,我们开始先模拟一下数据试一试

实现

1、新建 service 文件夹

app 目录下新建 service,并且创建一个 home.js,为其添加如下代码:

// app/service/home.js
'use strict';

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

class HomeService extends Service 
  async user() 
    // 模拟从数据库获取的用户信息
    return 
      name: "kaimo",
      title: "kaimo 玩大菠萝",
      content: "暗黑破坏神3 25赛季开始了,kaimo又开始熬夜开荒了"
    ;
  

module.exports = HomeService;

2、控制层修改获取数据方式

Controller 内拿到上面写的方法,如下所示:

//  app/controller/home.js
'use strict';

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

class HomeController extends Controller 
  async index() 
    const  ctx  = this;
    ctx.body = 'hi, egg';
  
  async user() 
    const  ctx  = this;
    // 获取服务层的数据
    const userData = await ctx.service.home.user();
    ctx.body = userData;
  
  async add() 
    const  ctx  = this;
    const body = ctx.request.body;
    ctx.body = body;
  


module.exports = HomeController;

访问 http://127.0.0.1:7001/user/kaimo 如下:

以上是关于egg 项目里从 Service 内获取模拟数据的主要内容,如果未能解决你的问题,请参考以下文章

node_egg项目搭建_注册写入数据库

Egg.js 学习笔记01

egg 项目里编写基础的 POST 接口:使用 POST 请求参数获取

Next.js +Egg.js+React项目部署详解

egg 项目里编写基础的 GET 接口:使用 GET 请求参数获取

Command "python setup.py egg_info" failed with error code 1 in C:Usersw5659AppDataLoca(示例代