Node.js-Koa2-MongoDB构建RESTful Api

790 阅读2分钟

使用Node.js+Koa2+MongoDB大家增删改查的后台接口服务,用于为客户端提供数据请求的数据Api接口

使用说明

本实例在Window下运行,OSX和Linux请下载对应的执行环境

安装Node.js7.0以上的版本nodejs.org/zh-cn/downl…

安装MogoDB https://www.mongodb.com/download-center#community

MongoDB安装和连接细节(Window)

  • 下载

  • 打开下载的安装包,进行安装操作,我是安装在我电脑的E盘下的mogodb文件夹下

  • 选择安装的路径

  • 新建一个文件夹作为数据数据库存放地址--mongodb/db

  • 在安装的目录下(E:\mogodb\bin)右键-在此处打开Powershell窗口-在窗口内执行以下命令

      E:\mogodb\bin\mongod --dbpath e:\mogodb\db
    

    dbpath后面指定的是刚刚创建的文件夹,我是在E盘/mogodb/下的db文件夹 成功会输出如下信息

运行mongodb

 在E:\mogodb\bin\下双击运行mongo.exe

运行成功如下

可以在命令行里面对MongoDB进行操作了,MongoDB快速入门参考这里www.yiibai.com/mongodb/mon…

安装modb会有一个客户端,指定完成安装的路径,就可以连接,查看你所创建的数据库

如图:

运行项目

git clone https://github.com/czero1995/Node-Koa2-RESTful.git
cd Node-Koa2-RESTful
npm install
node app.js

在项目路径下运行node app.js 运行成功如图:

然后再postman里面看看接口是否可以使用

注册用户:

如果手机号已经在数据库:

看数据库里的内容

更新用户信息

更新成功

没有传递参数:

查找所有用户

删除用户

项目源码: github.com/czero1995/N…

Koa2解决跨域访问

var cors = require('koa2-cors');

app.use(cors({
    origin: function (ctx) {
        if (ctx.url === '/test') {
            return "*"; // 允许来自所有域名请求
        }
//      return 'http://localhost:8080'; / 这样就能只允许 http://localhost:8080 这个域名的请求了
    },
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
    maxAge: 5,
    credentials: true,
    allowMethods: ['GET', 'POST', 'DELETE'],
    allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
}))