基于node+koa实现的mock数据接口,Koa需要v7.6.0以上node版本,低于此版本请先升级node

目录结构
// server.js
const Koa = require('koa');
const Router = require('koa-router');
const qs = require('qs');
const assert = require('assert');
const app = new Koa();
const router = new Router();
/**
* 获取列表数据
* @param {request} page 页数
* @param {request} limit 每页数据条数
* @param {response} errno 返回状态码 0 ==> 返回成功 1 ==> 有错误
* @param {response} hasMore 是否有更多数据
*/
let listData = require('./mock/list/list.js');
router.get('/api/getlist/:page/:limit', function (ctx, next) {
const page = ctx.params.page;
const limit = ctx.params.limit;
const maxPage = listData.length / limit;
// 构造返回对象
let res = {
errno: 0,
data: {
hasMore: true,
data: []
}
};
// 如果超过最大页面数
if ((page*1 + 1) >= maxPage) {
res.data.hasMore = false;
}
res.data.data = listData.slice(page*limit, page*limit + limit);
ctx.body = res;
});
/**
* 获取详情数据
* @param {request} id 商品id
*/
const detailData = require('./mock/detail/detail.js');
router.get('/api/getdetail/:id', function (ctx, next) {
const id = ctx.params.id
let res = {
errno: 0,
data: {
data: []
}
}
res.data.data = detailData;
// todo...
ctx.body = res;
});
/**
* 提交评论
* @param {request} id 用户id
* @param {request} uid 商品id
* @param {request} msg 评论内容
*/
router.post('/api/comment', function (ctx, next) {
const params = qs.parse(ctx.req._parsedUrl.query);
const id = params.id;
const uid = params.uid;
const msg = params.msg;
if (id === undefined || uid === undefined || msg === undefined) {
ctx.body = {
errno: 1,
msg: '缺少参数'
}
} else {
// todo...
ctx.body = {
errno: 0,
msg: '评论成功'
}
}
});
app
.use(router.routes())
.use(router.allowedMethods());
app.listen(3000);
console.log("server is running at http://localhost:3000/");
实际项目中,调用接口会遇到跨域的问题,解决的方式有多种,这里介绍如何在webpack中配置
module.exports = {
...
devServer: {
proxy: {
// 将 `/api` 开头的 http 请求,都代理到 `localhost:3000` 上,由 koa 提供 mock 数据
'/api': {
target: 'http://localhost:3000',
secure: false
}
}
...
}
}
项目地址:https://github.com/daijingfeng/mock-server
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# node
# mock
# koa
# node.js
# node使用Koa2搭建web项目的方法
# 阿里大于短信验证码node koa2的实现代码(最新)
# node中koa中间件机制详解
# node koa2实现上传图片并且同步上传到七牛云存储
# Node.js环境下Koa2添加travis ci持续集成工具的方法
# nodejs6下使用koa2框架实例
# 利用Node.js+Koa框架实现前后端交互的方法
# Node.js的Koa框架上手及MySQL操作指南
# Node.js使用Koa搭建 基础项目
# 每页
# 请先
# 于此
# 有多种
# 大家多多
# 有错误
# 条数
# 如何在
# limit
# page
# qs
# ctx
# request
# param
# app
# assert
# api
# getlist
# list
# listData
相关文章:
如何在Windows 2008云服务器安全搭建网站?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
Java解压缩zip - 解压缩多个文件或文件夹实例
如何用好域名打造高点击率的自主建站?
购物网站制作公司有哪些,哪个购物网站比较好?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
建站主机系统SEO优化与智能配置核心关键词操作指南
如何快速上传建站程序避免常见错误?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
建站主机无法访问?如何排查域名与服务器问题
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
如何快速辨别茅台真假?关键步骤解析
大型企业网站制作流程,做网站需要注册公司吗?
如何在云主机上快速搭建多站点网站?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
简单实现Android文件上传
电脑免费海报制作网站推荐,招聘海报哪个网站多?
建站主机选哪家性价比最高?
建站之星如何修改网站生成路径?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
,柠檬视频怎样兑换vip?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
寿县云建站:智能SEO优化与多行业模板快速上线指南
如何在阿里云通过域名搭建网站?
c# 在ASP.NET Core中管理和取消后台任务
如何在阿里云虚拟服务器快速搭建网站?
如何快速查询网站的真实建站时间?
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何选择美橙互联多站合一建站方案?
海南网站制作公司有哪些,海口网是哪家的?
兔展官网 在线制作,怎样制作微信请帖?
如何用虚拟主机快速搭建网站?详细步骤解析
魔毅自助建站系统:模板定制与SEO优化一键生成指南
历史网站制作软件,华为如何找回被删除的网站?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
金*站制作公司有哪些,金华教育集团官网?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
javascript中的try catch异常捕获机制用法分析
宝塔建站教程:一键部署配置流程与SEO优化实战指南
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
简历在线制作网站免费,免费下载个人简历的网站是哪些?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
如何快速重置建站主机并恢复默认配置?
代刷网站制作软件,别人代刷火车票靠谱吗?
,想在网上投简历,哪几个网站比较好?
宝塔建站助手安装配置与建站模板使用全流程解析
如何快速建站并高效导出源代码?
建站主机服务器选购指南:轻量应用与VPS配置解析
如何高效配置香港服务器实现快速建站?
*请认真填写需求信息,我们会在24小时内与您取得联系。