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}`)
})

.

koa 项目实战(三)创建测试接口和用户模型的更多相关文章

  1. miniFTP项目实战三

    项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务 ...

  2. koa 项目实战(四)注册接口和调试工具(postman)

    1.安装模块 npm install koa-bodyparser --save npm install bcryptjs --save 2.引入模块 根目录/app.js const bodyPar ...

  3. koa 项目实战(七)登录接口

    1.登录接口 /** * @route POST api/users/login * @desc 登录接口地址 * @access 接口是公开的 */ router.post('/login', as ...

  4. 【SSH项目实战三】脚本密钥的批量分发与执行

    [SSH项目实战]脚本密钥的批量分发与执行 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载, ...

  5. 【WEB API项目实战干货系列】- 接口文档与在线测试(二)

    上一篇: [WEB API项目实战干货系列]- Web API 2入门(一) 这一篇我们主要介绍如何做API帮助文档,给API的调用人员介绍各个 API的功能, 输入参数,输出参数, 以及在线测试 A ...

  6. koa 项目实战(九)passport验证token

    1.安装模块 npm install koa-passport -D npm install passport-jwt -D 2.解析token 根目录/config/passport.js cons ...

  7. koa 项目实战(八)生成token

    1.安装模块 npm install jsonwebtoken --save 2.引用 const jwt = require('jsonwebtoken'); ... // 返回token cons ...

  8. koa 项目实战(六)注册接口加密

    1.创建工具类 根目录/config/tools.js const bcrypt = require('bcryptjs'); const tools = { enbcrypt(password) { ...

  9. koa 项目实战(一)创建项目

    1.安装模块 npm install koa koa-router --save npm install -g nodemon 2.入口文件 app.js const Koa = require('k ...

随机推荐

  1. rabbitmq 连接报错 An unexpected connection driver error occured

    转自:https://blog.csdn.net/zht741322694/article/details/82801873 在服务器上安装了一个RabbitMq,并新创建了一个用户授予了管理员角色, ...

  2. Delphi DLL文件的动态调用

    樊伟胜

  3. pandas中的Series

    我们使用pandas经常会用到其下面的一个类:Series,那么这个类都有哪些方法呢?另外Series和DataFrame都继承了NDFrame这个类,df.to_sql()这个方法其实就是NDFra ...

  4. dubbo框架-学习-dubbo原理

    博客:Dubbo原理和源码解析之服务暴露 博客:dubbo实现原理简单介绍

  5. CentOS7 xrdp 安装和设置

    1) 安装 $ sudo yum install xrdp $ sudo yum install tigervnc $ sudo yum install tigervnc-server 2) 设置密码 ...

  6. java线程基础巩固---wait和sleep的本质区别是什么,深入分析(面试常见问题)

    对于wait和sleep貌似都会阻塞线程,但是它们确实是很大的区别的,所以下面一点点来探讨: 区别一.Sleep()是线程里面的方法,而Wait()是Object类的方法.这个比较简单,直接看代码便知 ...

  7. struts2使用注解的时候遇到的问题

    问题描述:     一切配置和注解都正确,但是无法访问action中的方法   解决问题:     之前将action层的包名命名成了web,改成action就对了   原因:     struts2 ...

  8. swiper 使用心得

    首先,我在这次学习的最大收益是,学习新框架.或者技术,先找官方文档比较好,那里的很全,你想要的基本都有的,如果没有那就是不支持喽. 然后简单概括下是怎么用的(比较谦虚,大家勿怪) 一 .找他的官方文档 ...

  9. (五) 结构化查询语言SQL——3

    4. 数据更新 1)增 对应INSERT语句.格式为INSERT INTO T[(A1,…,Ak)]  VALUES (C1,…,Ck),其中A代表表T的属性,C代表常量,A可以缺省,此时C必须严格按 ...

  10. Redis主从复制配置+哨兵模式

    架构设计: master:s0 slave:s1.s2 主机映射信息如下: 192.168.32.100 s0 192.168.32.101 s1 192.168.32.102 s2 1.安装Redi ...