koa 接口返回数据_node和koa实现数据mock接口
本文主要和大家介绍node+koa实现数据mock接口的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。
基于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
相关推荐:
koa 接口返回数据_node和koa实现数据mock接口相关推荐
- node爬取app数据_node爬取拉勾网数据并导出为excel文件
前言 之前断断续续学习了node.js,今天就拿拉勾网练练手,顺便通过数据了解了解最近的招聘行情哈!node方面算是萌新一个吧,希望可以和大家共同学习和进步. 一.概要 我们首先需要明确具体的需求: ...
- 如何使用charles+mock替换接口返回来测试
文章目录 场景 方法 1.postman/python+flask来mock接口 2.charles+postman 通过代理来替代原来接口的返回 3.charles的rewrite功能来替换接口返回 ...
- postman上一接口返回值作为下一接口传参
1.第一个接口:①按照接口文档,编写第一个接口脚本:(接口返回productinfo字段) ②在Tests中获取productinfo接口,并设置成环境变量 //将数据解析成json格式 var da ...
- web端测试时,接口返回200,页面又没有显示,可能是什么原因?
200 只是说这个接口调用成功了,具体根据接口文档抓包定位. 首先检查环境是否重启 1.可能接口返回的Data里没有捞数据,而前端未做兼容做个缺省页什么的. 2.可能后端接口返回字段值与接口也定不一致 ...
- 接口返回的类型是html页面_1.10 PhalApi 2.x 接口文档
接口文档 在线接口文档 PhalApi提供一些非常实用而又贴心的功能特性,其中最具特色的就是自动生成的在线可视化文档.在线接口文档主要分为两大类,分别是: 在线接口列表文档 在线接口详情文档 当客户端 ...
- 文本过滤后返回空值_利用Fiddler来Mock接口返回值
前篇文章介绍了Mock测试的相关理论知识,今天就通过实战操作来演示一下如何通过Fiddler抓包工具来Mock接口返回值. 准备工作 准备一个服务端接口,可以自己用SpringBoot写一个简单的Re ...
- python3接口自动化测试_【python3+request】python3+requests接口自动化测试框架实例详解教程...
前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自 ...
- php写的接口返回数据的页面,PHP怎么解析 WEBSERVICES接口返回的数据
PHP如何解析 WEBSERVICES接口返回的数据 WEBSERVICE服务器,他们用.net写了个接口 http://XXX.XXX.XXX.XX/Info.asmx?wsdl 我用PHP调用这个 ...
- springboot 接口返回数据时 net.sf.json.JSONNull[“empty“]) 异常
springboot 接口返回数据时 net.sf.json.JSONNull["empty"]) 异常 参考文章: (1)springboot 接口返回数据时 net.sf.js ...
最新文章
- 微信网页JSDK接口-wx.chooseImage问题
- dubbo 部分 配置的关系-dubbo github 官方案例
- 鸟哥的Linux私房菜(服务器)- 第十章、申请合法的主机名
- java fast math,Java FastMath.ceil方法代碼示例
- maven依赖管理的概念
- 随想录(关于核心技术)
- dom4j的操作(增删改查)
- PopWindow使用方法详解
- C++实现双向循环链表
- vlc 网页插件的 使用与控制 API
- 这些效果我很喜欢,但愿对你们也有帮助
- 三大运营商网络使用频段及随身wifi选用
- python编程助手_用Python做一个久坐提醒小助手的示例代码
- 天耀18期 - 10.字符串常用方法【作业】
- GIC Partitioning
- PHP 可以利用的危险的函数
- 纯粹CSS 绘制向下箭头
- Java雷电游戏要准备什么_Java 雷电游戏(未完成)
- EasyGrep使用简介
- creator 跳跃弧线_CocosCreator零基础制作游戏《极限跳跃》教程4
热门文章
- 更新失败 连接超时_苹果发布 iOS iPadOS 更新 修复蓝牙连接失败等错误
- java pic 通信_dsPic33E:RS485通信问题
- php 小程序页面传参,介绍小程序中传递参数的实现方法
- Java语言 List 和 Array 相互转换
- 互联网公司面试必问的mysql题目
- 如何利用Webp和http缓存节省30%的网络流量
- FineUI(专业版)v3.1发布(ASP.NET控件库)!
- 使用Putty密钥认证机制远程登录Linux
- Spring 核心控制器DispatcherServlet(二)
- Disallowed Key Characters(转)