cover

  • emmm这是一篇鸽了很久的规范
  • 自家园开始采用前后端分离开发开始,我们就似乎在使用约定俗成的返回格式,一个是因为当时开发的并没有很多的人,前后端的数据交互格式就口口相传了下来,毕竟大家在刚开始写代码的到时候都是cv工程师(笑。
  • 但随着家园后来项目的越来越多,特别是参与开发工作的人也变得越来越多,之前的规范开始并没有给萌新继承下来,很多人从一个项目到另一个项目,把原来旧项目的习惯和自己养成的习惯带到了新项目和新语言中来,所以就出现了之前很夸张的,一份接口文档里面,4个接口有3种返回格式(吓。
  • 所以在这里定下统一的,前后端交互用的数据格式

  • 返回格式后端参照(以python3为例)

    {
        "data": {}, # 返回数据放在这里,可以是{} || [],
        "message": "这是返回信息", # 提示信息放在这里, 为string
        "status": 1 # 返回的状态码放在这里, 为int 成功为1,异常自定
        "total_page": 12 # 如果有分页, 这里放总页数,没有分页需求可以没有这个字段
    }
    
  • 返回格式前端参照

    {
        data: any, // 从后端接受的返回数据,
        message: string, // 提示信息放在这里, 为string
        status: int // 返回的状态码放在这里, 为int 成功为1,异常自定
        total_page: int // 如果有分页, 这里放总页数,没有分页需求可以没有这个字段
    }
    
  • 一些注意点

    • 第一,后端不管是任何的method(除options), 返回必传data,为空就是{}或者[],[]多见于分页需求
    • 第二,遇到分页的话,后端只回传total_page这个字段,不关心当前页
    • 第三,status在成功下一定为1,如果遇到异常了,包括但不仅限于后端返回4xx或者5xx时,应该由后端来自己定义。

扫描二维码,分享此文章

wujintao's Picture
wujintao