-
前端脱离后端模拟接口数据---easymock/mock.js
2020-09-05 17:04:06数据类型丰富: 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。 拦截 Ajax 请求 不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据。安全又便捷。 mock实例 m使用easy mock 创建项目,模拟接口数据:
直接在easymock官网注册账号创建项目,创建接口。
em.demo.all
回车 直接生成接口数据。
需要懂得mockjs语法规范使用mock
mock有两大特性:
-
数据类型丰富:
支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。
-
拦截 Ajax 请求
不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据。安全又便捷。
使用mockjs的几种方式:
- 直接在需要mock数据的js文件中使用 — 直接创建的mock数据,在控制台的network无法查看。
- 创建一个js/json文件,导入使用
- 通过node开启mock服务,并加入到package.json命令里。---- 通过node开启的mock在控制台可以看到拦截。对于要上线的项目,也建议使用node开启服务而不是直接创建mock数据。
使用mockjs生成js文件模拟接口数据
1,
cnpm install mockjs
2, 在vue项目中,在src目录下,创建一个mockjs文件,并引入mockjs。用来存放mock数据。
3,在main.js文件中导入模拟好的数据接口
import mockdata from './mock'
在vue项目中。 vue cli环境下:需要先安装三个依赖:cnpm install axios --save cnpm install mockjs --sava-dev cnpm install json5 --save-dev//使用json5解决json文件无法添加注释的问题
-
-
接口文档规范
2020-10-20 08:35:441:后端接口无返回或报错时,如404,500等前端需给出相应的友好提示或展示友好提示页面 2:接口不可出现无状态码,无message,无List集合的情况 3:返回json 字段信息,不可出现关键字类型,如object,interface,public,class ...当开发给到你们接口文档时,可以去审查下接口文档是否规范~
接口测试中,接口必须返回基础字段为:- :status 请求码
- :message 消息值
- list 必须返回,为空时返回空list,有数据则返回完整list
注:
1:后端接口无返回或报错时,如404,500等前端需给出相应的友好提示或展示友好提示页面
2:接口不可出现无状态码,无message,无List集合的情况
3:返回json 字段信息,不可出现关键字类型,如object,interface,public,class 等代码中的关键字.
4:涉及金额等信息时,应该采取加密方式,后端需进行校验,防止通过接口拦截造成损失.
5:重要信息可采用https方式传输 ssl
6:请求方式,get方式获取数据,post方式传递数据
7:请求参数内容,请求参数是否必须添加 Y N
-
Java接口入参和出参规范建议
2019-07-24 10:20:47把最近项目中遇到的问题跟大家分享下:最近做了一个项目,后端接口写好后和pc端vue联调完毕,业务还需要和App端[ios,andro]对接,问题来了,后端接口中的入参和出参都是Java数据类型[Date,Boolean,Integer,Long等]的...把最近项目中遇到的问题跟大家分享下:最近做了一个项目,后端接口写好后和pc端vue联调完毕,业务还需要和App端[ios,andro]对接,问题来了,后端接口中的入参和出参都是Java数据类型[Date,Boolean,Integer,Long等]的,当初这样定义的确是为了方便后端接口代码处理比较方便,但App端要求后端接口字段不能返回null值,不然页面报错,渲染不出来。
解决方法一:
对原返回对象进行封装处理,将新对象中的属性全部定义成String类型,并将旧对象中属性值转化成字符串值传给新对象属性,这样也能解决问题,但是太麻烦了
这里建议:入参对象属性可以定义成Java数据类型的,但出参对象属性定义成字符串类型的,这样我们后端的接口写好后就可以兼容pc端和App端的联调了。
还有一点要注意的是:参数最好封装成一个对象进行传输,不可使用map,jsonObject等进行封装。一方面:封装成对象,有对象名称和属性名称,这样语义明确,好理解;另一方面:防止对象为空时,前端获取不到对象中的属性名称,如果为空对象,前端要求一个属性值为空,属性名称不能空的json对象架子。
-
curl 判断成功_使用curl命令测试端口
2020-12-22 09:14:32后端接口规范约定接口一般包括以下数据当前接口的路径是什么? 如 /auth/register当前接口提交数据的类型是什么? 如GET 获取数据POST 提交或者创建PATCH 修改数据,部分修改DELETE 删除数据PUT 修改数据,整体替换...后端接口规范
约定接口一般包括以下数据
当前接口的路径是什么? 如 /auth/register
当前接口提交数据的类型是什么? 如
GET 获取数据
POST 提交或者创建
PATCH 修改数据,部分修改
DELETE 删除数据
PUT 修改数据,整体替换原有数据
参数类型/格式,比如是 json 格式,还是 application/x-www-form-urlencoded的数据
参数字段,及限制条件
返回成功的数据格式
curl的使用
-d:用来传递数据
-X 请求类型:发送的请求类型(对于GET请求可以不加-X)
-i:展示响应头。一般用来测试登录端口查看setCookie里的cookie
-b “cookie字段”:发送请求的时候带上cookie。一般用在注销登录和判断用户是否登录以及对已经存在的数据进行修改的端口中。
如:
curl -d "title=hello&content=world&description=jirengu" -X POST "http://blog-server.hunger-valley.com/blog" -b "connect.sid=s%3AdyZh-z5fqPU_ThG9Qn8nGD6euI0UI75e.8uso0k4P6WzqWv02iQCUwxbUML2RdlOCnpKp7RSJpj0 " -i
上面的命令的意思就是发送一个POST请求传递
"title=hello&content=world&description=jirengu"字段并且带上connect.sid...这个cookie然后显示响应头
具体端口及curl的使用
POST /auth/register
功能: 用户注册
提交参数
参数类型:Content-Type: application/x-www-form-urlencoded;charset=utf-8
参数字段
username : 用户名, 长度1到15个字符,只能是字母数字下划线中文
password : 密码, 长度6到16个任意字符
返回数据
失败
返回格式 {"status": "fail", "msg": "错误原因"}
成功
返回格式
{
"status": "ok",
"msg": "注册成功",
"data": {
"id": 1,
"username": "hunger",
"avatar": "http://avatar.com/1.png",
"updatedAt": "2017-12-27T07:40:09.697Z",
"createdAt": "2017-12-27T07:40:09.697Z"
}
}
测试
# -d 是用来传递数据
# 对于 POST 和 PUT 可以: -X POST, 对于 GET,不加 -X
curl -d "username=hunger1&password=123456" -X POST "http://localhost:3000/auth/register"
POST /auth/login
功能: 用户登录
提交参数
参数类型:Content-Type: application/x-www-form-urlencoded;charset=utf-8
参数字段
username : 用户名, 长度1到15个字符,只能是字母数字下划线中文
password : 密码, 长度6到16个任意字符
返回数据
失败
返回格式 {"status": "fail", "msg": "用户不存在"} 或者 {"status": "fail", "msg": "密码不正确"}
成功
返回格式
{
"status":"ok",
"msg": "登录成功",
"data": {
"id": 1,
"username": "hunger",
"avatar: "头像 url",
"createdAt": "2017-12-27T07:40:09.697Z",
"updatedAt": "2017-12-27T07:40:09.697Z"
}
}
测试命令
# -i 可以展示响应头
# 会发现响应头里有 setCookie 信息,得到 cookie
curl -d "username=hunger1&password=123456" "http://localhost:3000/auth/login" -i
GET /auth
功能: 判断用户是否登录
提交参数: 无
返回数据
已经登录的情况
{
"status": "ok"
"isLogin": true,
"avatar": "http://avatar.com/1.png",
"data": {
"id": 1,
"username": "hunger",
"updatedAt": "2017-12-27T07:40:09.697Z",
"createdAt": "2017-12-27T07:40:09.697Z"
}
}
没有登录的情况
{
"status": "ok"
"isLogin": false
}
测试命令
#先通过登录接口获取 cookie,带上 cookie 就能测试登录
curl "http://localhost:3000/auth" -b "connect.sid=s%3AmeDbrn03UtTM8fqChaPQ20wmWlnKeHiu.e3uMtu7j1zQ1iNeaajCmxkYYGQ%2FyHV1ZsozMvZYWC6s"
GET /auth/logout
功能: 注销登录
提交参数: 无
返回数据:
失败
返回格式 {"status": "fail", "msg": "用户尚未登录"}
成功
返回格式{"status": "fail", "msg": "注销成功"}
测试命令
curl "http://localhost:3000/auth/logout" -b "connect.sid=s%3AmeDbrn03UtTM8fqChaPQ20wmWlnKeHiu.e3uMtu7j1zQ1iNeaajCmxkYYGQ%2FyHV1ZsozMvZYWC6s"
-
mock.js 基础学习
2020-07-10 16:51:01数据类型丰富: 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。 方便扩展: 支持支持扩展更多数据类型,支持自定义函数和正则。 二、语法规范 2.1 数据模板定义规范 // 属性名 name // 生成... -
js字段缺失处理
2020-04-26 10:12:46众所周知,后台给前端返回的数据有时是:空数组,返回一个null,或者直接不返回,导致前端得到的值是underfind。...当然类型不对也可以跟后端打嘴炮,让后端按照接口规范给我们传值。。。 var data =... -
一种SPA(单页面应用)架构
2021-01-09 03:05:33// 返回数据结果 res.json(comments) }) }) </code></pre> 后端的API可以采用更规范的RESTful API的方式,而RESTful不在本文的讨论范围内。有兴趣的可以参考... -
PostgreSQL必备参考手册--详细书签版
2013-02-04 13:28:35第二部分(第2章到第5章)介绍了PostgreSQL的数据类型、操作符及函数等内容。第三部分(第6章到第10章)通过介绍用户可执行文件、系统可执行文件、系统配置文件与库及日志文件等帮助用户轻松管理PostgreSQL。第四... -
Python后端开发工程师(服务器、云平台、数据接口) Python运维工程师(自动化运维、SRE、DevOps) Python数据分析师(数据分析、商业智能、数字化运营) Python数据挖掘工程师(机器学习、深度学习、算法专家) ...
-
天猫双11前端分享系列(四):大规模 Node.js 应用
2021-01-10 04:14:29通过 hsf 调用和淘宝共建的页面数据存储的接口,用 node 完成业务逻辑处理、页面渲染和前端接口。 轻量级的模板渲染容器 通过 node 整合前端的天猫组件规范 MUI,开发了一套专注于模板渲染的 node 容器&... -
基础34 ElasticSearch mapping复杂数据类型以及object类型数据 基础35 ElasticSearch search api的基础语法 基础36 ElasticSearch Query DSL搜索语法 ElasticSearch 安装bigdesk 查看集群环境 Elastic...
-
Hibernate 采用 SpringBoot-data-jpa 进行封装,简化数据库操作,采用命名规范进行数据库的增删改查,去除了接口的实现 使用 Springboot 进行快速开发,简化了配置文件的编写 项目中采用了 Swagger2.0,自动扫描 ...
-
JAVA上百实例源码以及开源项目源代码
2018-12-11 17:07:425个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口... -
JAVA上百实例源码以及开源项目
2016-01-03 17:37:405个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口... -
java开源包1
2013-06-28 09:14:34使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
java开源包12
2013-06-28 10:14:45使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
Java资源包01
2016-08-31 09:16:25使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
java开源包101
2016-07-13 10:11:08使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
java开源包11
2013-06-28 10:10:38使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
java开源包6
2013-06-28 09:48:32使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
java开源包10
2013-06-28 10:06:40使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
java开源包8
2013-06-28 09:55:26使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
java开源包9
2013-06-28 09:58:55使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
java开源包7
2013-06-28 09:52:16使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的... -
C POSIX library : POSIX系统的C标准库规范。 ISO C++ Standards Committee :C++标准委员会。 The GNU C Library :本手册的目的是告诉你如何使用GNU C库。 框架 C++通用框架和库 abseil-cpp :Abseil C ++ ...
-
基于webpack搭建前端工程解决方案探索
2021-01-04 12:40:46// 可以根据需要任意定制接口的返回 router.get('/api/list', function*() { var query = this.query || {}; var offset = query.offset || 0; var limit = query.limit || 10; var diff ...
-
2021年 系统架构设计师 系列课
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
git rebase 修改已提交的信息
-
基于Gan 技术的reid
-
【Python-随到随学】FLask第二周
-
中央广播电视大学《中级财务会计(一)》期末总复习资料(含答案).pdf
-
中央广播电视大学《应用写作》期末总复习资料(含答案).pdf
-
原子的诞生卢瑟福原子模型开天辟地.ppt
-
JAVA串口开发资源包.zip
-
leecode:剑指offer52 两个链表的第一个公共节点
-
【Python-随到随学】 FLask第一周
-
access应用的3个开发实例
-
加盟部拓展计划书.doc
-
中央广播电视大学《液压气动技术》期末总复习资料(含答案).pdf
-
中央广播电视大学《中国法制史》期末总复习资料(含答案).pdf
-
用Go语言来写区块链(一)
-
FreeRTOS实时内核使用指南_中文.pdf
-
SpringMVC基础(三)
-
【布道者】Linux极速入门
-
双色球开奖记录(从2003年到2021年2月28日)手工录入.xls