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}`)
})
.
koa 项目实战(三)创建测试接口和用户模型的更多相关文章
- miniFTP项目实战三
		
项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务 ...
 - koa 项目实战(四)注册接口和调试工具(postman)
		
1.安装模块 npm install koa-bodyparser --save npm install bcryptjs --save 2.引入模块 根目录/app.js const bodyPar ...
 - koa 项目实战(七)登录接口
		
1.登录接口 /** * @route POST api/users/login * @desc 登录接口地址 * @access 接口是公开的 */ router.post('/login', as ...
 - 【SSH项目实战三】脚本密钥的批量分发与执行
		
[SSH项目实战]脚本密钥的批量分发与执行 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载, ...
 - 【WEB API项目实战干货系列】- 接口文档与在线测试(二)
		
上一篇: [WEB API项目实战干货系列]- Web API 2入门(一) 这一篇我们主要介绍如何做API帮助文档,给API的调用人员介绍各个 API的功能, 输入参数,输出参数, 以及在线测试 A ...
 - koa 项目实战(九)passport验证token
		
1.安装模块 npm install koa-passport -D npm install passport-jwt -D 2.解析token 根目录/config/passport.js cons ...
 - koa 项目实战(八)生成token
		
1.安装模块 npm install jsonwebtoken --save 2.引用 const jwt = require('jsonwebtoken'); ... // 返回token cons ...
 - koa 项目实战(六)注册接口加密
		
1.创建工具类 根目录/config/tools.js const bcrypt = require('bcryptjs'); const tools = { enbcrypt(password) { ...
 - koa 项目实战(一)创建项目
		
1.安装模块 npm install koa koa-router --save npm install -g nodemon 2.入口文件 app.js const Koa = require('k ...
 
随机推荐
- GitLab端口冲突 解决办法
			
访问gitlab,出现:502 GitLab在使用的过程中,会开启80端口,如果80端口被其他的应用程序占用,则GitLab的该项服务不能使用,所以访问GitLab会失败.大多数皆是此问题. ...
 - 开源you-get项目爬虫,以及基于python+selenium的自动测试利器
			
写在前面 爬虫和自动测试,对于python来说是最合适不过也是最擅长的. 开源的项目也很多,例如you-get项目https://github.com/soimort/you-get.盗链和爬虫神器. ...
 - pandas中的Series
			
我们使用pandas经常会用到其下面的一个类:Series,那么这个类都有哪些方法呢?另外Series和DataFrame都继承了NDFrame这个类,df.to_sql()这个方法其实就是NDFra ...
 - uCos-II移值(二)
			
os_cpu_c.c文件 该文件主要是根据处理器平台特点完成任务堆栈初始化函数OSTaskStkInit以及其他几个用户Hook函数的编写,其中必须要实现的函数是OSTaskStkInit(在创建任务 ...
 - BPR贝叶斯个性化排序算法
			
全序关系:集合中的任两个元素之间都可以比较的关系.
 - Summer training #9
			
A:树形DP 给出一棵树,但是它的边是有向边,选择一个城市,问最少调整多少条边的方向能使一个选中城市可以到达所有的点,输出最小的调整的边数,和对应的点 要改变的边的权值为1,不需要改变的边的权值为0, ...
 - Java通过腾讯邮箱发送邮件
			
private static void sendEmaill() { Properties prop = new Properties(); //协议 prop.setProperty("m ...
 - Linux文件归档管理
			
Linux怎样保存文件 数据 - 这里数据就是文件的内容 元数据 - 在linux系统中,所有与某个文件相关的额外信息都保存在一个叫做i-节点(inode)的结构中 文件名 - 文件名保存在名为目录项 ...
 - Mac常用设置备忘
			
1.显示隐藏文件 1>命令行方式 显示:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏:defaults writ ...
 - Linux下mount存储盘遇到的错误
			
一.注意点 1.超过1T的盘,创建的分区要查看是否初始化为了GPT格式. 2.如果新添加的盘是从存储上挂载的,涉及到多路径的问题,挂载的是多路径的盘符,比如:/dev/mapper/mpatha(对应 ...