大前端接口规范

发布于 2021-12-31 13:14:02 字数 2456 浏览 1126 评论 0

1、基本规范

  • 查询、获取之类的接口,通用 get 请求
  • 添加、修改、删除的接口,通用 post 请求

2、基本 json 格式

//当 code == 200 时候 是成功 data 中是要用的数据
//当 code != 200 时候 msg 中是错误的信息,用于前端的错误提示
{
"code": 200,
"data": {},
"msg": "xxxxxxxxxxx",
}
  • 通过 code 判断接口成功与失败与否,失败的话,前端直接展示 msg 返回的内容,具体内容后端输出
  • 不能通过返回的 msg 进行判断,msg 只是用于直接获取在前端界面展示的文案

3、key 值

  • 如果列表接口中没有的数据,也需要将 json 的 key 返回,不能缺少 key 值,
  • 默认的 key-value
  • json:{}
  • array:[]
  • string:’’
  • number:0

4、语义化

  • 接口名称语义化,以动词+名词组合,例如 getVideoList、editVideoInfo
  • 不接受 list.html 格式的接口,会误认为是静态界面
  • 接口字段语义化,符合大众阅读标准

5、时间格式

  • 传入、传出时间,都按标 13 位准时间戳来显示
  • 不接受各后端不同的类似于 2016-11-12 12:00:00 这种返回

6、关于跨域

  • 如果有跨域请求的接口,需要加上 jsonp 格式的调用
  • 据现有多数的接口,callback 的 key 值为 jsoncallback,
  • 如果接口为不同的 key 值的话,预先通知到前端

7、编码

  • 请求、返回的编码,均必须为 utf-8 编码,不允许出现返回乱码,乱码不利于抓包调试
  • 由于 ie 系的 bug,接口请求的时候,需要把请求中的中文字段编码,后台接口请解码控制

8、体积

接口尽量体积小,没必要将字段删减到最小,但最好不要上 100k

9、分页格式

请求接口,当前页码 key——page,以 1 开始

每页条数 key-rows,一般是 10,返回格式:

{
  code: 200,
  data: {
    items: [
      { id: 1, name: 'xxx' },
      { id: 2, name: 'xxx' },
    ],
    page: { curPage: 1, pageSize: 10, totalPage: 2, totalRow: 20 },
  },
  msg: 'xxxxxxxxxx',
};

10、添加回调

默认需要将新添加的 json 对象返回,用于不刷新界面继续操作

11、session过期

后台返回接口

// ajax: httpstatus 400
{
  errCode: '9000',
  errMsg: 'http://uc.lecloud.com/login.do?backUrl=http://saas.lecloud.com',
  errShowMsg: '用户未登录',
};

前台控制— jquery ajax 统一过滤

// 判断控制浏览器跳转,http code 为 400 时,判断 errcode 值
$(document).ajaxError(function (event, request, settings, thrownError) {
  console.log(request);
  try {
    if (request.status == 400) {
      var responseJSON = JSON.parse(request.responseText);
      if (responseJSON.errCode == 90000) {
        top.window.location.href = responseJSON.errMsg;
      }
    }
  } catch (e) {}
});

12、分享、同步策略

  • 具体接口由后端的同学在开发之前,写在自己项目的 wiki 上面
  • wiki 上接口文档,如果返回的内容
  • 接口变动的话,通知到前端同学
  • 如果是多终端公用的接口,wiki 上面使用者将自己的使用情况备注一下
  • 各后端系统尽量保持一致,开发之前,前后端确认接口
  • 如果是提供给多端的接口,格式化的内容尽量在后台接口中统一,以达到各终端显示一致

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

情栀口红

暂无简介

0 文章
0 评论
468 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文