zoukankan      html  css  js  c++  java
  • koa 项目实战(三)创建测试接口和用户模型

    1.创建测试接口,并引入用户模型

    根目录/routes/api/users.js

    const Router = require('koa-router');
    const router = new Router();
    
    // 引入User
    const User = require('../../models/User');
    
    /**
     * @route GET api/users/test
     * @desc 测试接口地址
     * @access 接口是公开的
     */
    router.get('/test', async ctx => {
      ctx.status = 200;
      ctx.body = { msg: 'users works...' };
    });
    
    module.exports = router.routes();

    2.创建用户模型

    根目录/models/User.js

    const mongoose = require('mongoose');
    const Schema = mongoose.Schema;
    
    // 实例化数据模板
    const UserSchema = new Schema({
      name: {
        type: String,
        required: true
      },
      email: {
        type: String,
        required: true
      },
      password: {
        type: String,
        require: true
      },
      avatar: {
        type: String
      },
      date: {
        type: Date,
        default: Date.now
      }
    });
    
    module.exports = User = mongoose.model('users', UserSchema);

    3.引入测试接口

    根路径/app.js

    const Koa = require('koa');
    const Router = require('koa-router');
    const mongoose = require('mongoose');
    
    // 实例化koa
    const app = new Koa();
    const router = new Router();
    
    // 引入users.js
    const users = require('./routes/api/users');
    
    // 路由
    router.get('/', async (ctx) => {
      ctx.body = { msg: 'Hello Koa Interfaces' };
    });
    
    // config
    const db = require('./config/keys').mongoURI;
    
    // 连接数据库
    mongoose
      .connect(db, { useNewUrlParser: true })
      .then(() => {
        console.log('Mongodb Connected...');
      })
      .catch(err => {
        console.log(err);
      })
    
    // 配置路由地址 localhist:5000/api/users
    router.use('/api/users', users);
    
    // 配置路由
    app.use(router.routes()).use(router.allowedMethods());
    
    // 设置端口号
    const port = process.env.PORT || 5000;
    
    // 监听端口号
    app.listen(port, () => {
      console.log(`server started on ${port}`)
    })

    .

  • 相关阅读:
    Datazen地图Chart自定义数据
    Datazen地图Chart介绍
    TFS Express backup and restore
    [BI项目记]-TFS Express备份和恢复
    [BI项目记]-新任务处理
    [BI项目记]-新任务创建
    Datazen图表创建和发布
    开闭原则(OCP)
    Fragment XXX not attached to Activity
    问题解决:Fragment not attached to Activity
  • 原文地址:https://www.cnblogs.com/crazycode2/p/11029297.html
Copyright © 2011-2022 走看看