通过express与mokejs搭建属于自己的rap2服务器

  1. 运行$ npx express-generator api-server创建一个express项目

  2. $ cd api-server进入项目目录

  3. $ npm install安装项目所需要的依赖

  4. $ npm install nodemon -D安装nodemon

  5. $ npm install mockjs -S安装mockjs包

  6. 打开项目目录下的package.json, 更改scripts:

 // 引入express
const express = require('express');
// 只使用router
const router = express.Router();
// 引入Mock对象
const Mock = require('mockjs')


// 定义生成数据列表的方法
const generateData = () => {
// 使用Mock.mock方法来生成mock数据
return Mock.mock({
"code": 200,
"data|12": [
{
"id": "@id",
"title": "@ctitle(15, 25)",
"author": "@cname",
"volume": "@int(100, 300)",
"createAt": "@int(10000000000000, 1554363040517)"
}
]
})
}

// 定义另外一个方法,用于生成单个数据
const generateDataById = (id) => {
return Mock.mock({
"code": 200,
data: {
id,
"title": "@ctitle(15, 25)",
"author": "@cname",
"volume": "@int(100, 300)",
"createAt": "@int(10000000000000, 1554363040517)"
}
})
}
/* 获取用户列表 */
router.get('/', function(req, res, next) {
res.json(generateData())
});
/* 获取单个用户,根据用户的id, 这里有一个express通配符路由(动态路由) */
router.get('/:id', function(req, res, next) {
const {
id
} = req.params
res.json(generateDataById(id))
});

module.exports = router;
  1. 根据需要配置路由

  2. 比如,有一个叫users的路由挂载在/api/v1/users下,就可以这么来写这个mock数据

// 引入express
        const express = require('express');
        // 只使用router
        const router = express.Router();
        // 引入Mock对象
        const Mock = require('mockjs')
        ​
        ​
        // 定义生成数据列表的方法
        const generateData = () => {
         // 使用Mock.mock方法来生成mock数据
         return Mock.mock({
         "code": 200,
         "data|12": [
         {
         "id": "@id",
         "title": "@ctitle(15, 25)",
         "author": "@cname",
         "volume": "@int(100, 300)",
         "createAt": "@int(10000000000000, 1554363040517)"
         }
         ]
         })
        }
        ​
        // 定义另外一个方法,用于生成单个数据
        const generateDataById = (id) => {
         return Mock.mock({
         "code": 200,
         data: {
         id,
         "title": "@ctitle(15, 25)",
         "author": "@cname",
         "volume": "@int(100, 300)",
         "createAt": "@int(10000000000000, 1554363040517)"
         }
         })
        }
        /* 获取用户列表 */
        router.get('/', function(req, res, next) {
         res.json(generateData())
        });
        /* 获取单个用户,根据用户的id, 这里有一个express通配符路由(动态路由) */
        router.get('/:id', function(req, res, next) {
         const  {
         id
         } = req.params
         res.json(generateDataById(id))
        });
        ​
        module.exports = router;
        ​

这样我们就可以使用 http://localhost:port/users获取用户列表, 使用 http://localhost:port/users/任意的id参数获取用户信息

*更改于 2019-04-18 *

你可能感兴趣的:(通过express与mokejs搭建属于自己的rap2服务器)