接口回调格式规则

280 阅读3分钟

摘要

接口数据结构的约束,有利于提高开发效率,

而在开发中,前后端的理解,导致接口回调异常混乱,故想以此做下记录,探讨和分享

前提,个人不建议用http的code来判断业务代码,容易混淆。

什么是成功,什么是失败

成功,失败一般分为以下两种

1.网络

网络请求成功是由http code 200 来做判断, 一般情况下 我们都是采用网络框架来处理的,所以这个不需要我们担心和处理

2.业务

网络成功后,就开始判断我们业务逻辑了。 我们的业务无非就4种,增 删 改 查

增: 成功: 数据添加成功 失败:添加失败

删: 成功: 数据删除成功 失败:删除失败

改: 成功: 数据改变成功 失败:修改失败

查: 成功: 数据查询成功 失败:查询失败

好像说了当没说是吧,那我们过会儿字回头理解

按对接的接口格式,我们项目一般都是 code data msg 这样的

{
    "code":1//1 成功 非1 失败
    "msg":"请求成功""data":Any
}

那么上面4种请求,返回格式是怎么样的呢

2.1 增 删 改

这三个都是提交参数,进行数据变动的接口 这种的一般不需要要有回调数据 后端同学只需要告知前端

{
     "code":1"msg":"嘿 兄dei 数据为你处理好了哦"
 }

或者说

{
    "code":0"msg":"专业点,你参数出错了。"
}

看到没,都不需要data的,若后端非要返回data 字段, 那么这样返回也是可以的

{
    "code":1"msg":"嘿 兄dei 数据为你处理好了哦"
    "data":null
}
//或者
{
    "code":0"msg":"专业点,你参数出错了。"
    "data":null
}

就是这样简单 其他情况。当更改数据的接口 需要返回数据的时候。 如我更改用户基本信息,需要接口返回数据来替换本地用户信息。 那么接口格式就如下

{
     "code":1"msg":"头像更新成功"
     "data":{
         "avatar":"http:\\xx.xxx.xxx\user_avatar"
     }
 }
//或者失败
{
     "code":0"msg":"图片内容涉黄,不合规,请更改"
 }
 
 //或者失败
{
     "code":0"msg":"图片内容涉黄,不合规,请更改"
     "data":null
 }

2.2 查

这里我得再分两种情况

1.查对象(查单个数据) 2 查集合(查多个数据,集合类,列表)

2.2.1 查对象(查单个数据)

成功: 对象数据查询且有数据,代表查询成功 失败:无数据,或者条件不足查询不到

//成功
{
     "code":1"msg":"查询成功"
     "data":{
         "name":"bobozhu",
         "sex":"男"

     }
 }
//失败
{
     "code":0"msg":"无数据"
 }
 
//失败
{
     "code":0"msg":"条件不足"
 }
 

千万别有下面这种错误的格式

{
     "code":1"msg":"查询成功"
     "data":null
 }

2.2.2查集合(查多个数据,集合类,列表)

成功:对象数据查询成功 失败:条件不足

//成功 有数据
{
     "code":1"msg":"查询好友列表成功"
     "data":[{
         "name":"bobozhu",
         "sex":"男"

     }]
 }
//成功 无数据
{
     "code":1"msg":"查询好友列表成功"
     "data":[]
 }
//失败
{
     "code":0"msg":"参数不对"
 }
 
//失败
{
     "code":0"msg":"条件不足",
     "data":null,
 }
 

一边不建议用这种格式,除非提前沟通好(算了别沟通,直接拒绝这种格式)

{
     "code":1"msg":"查询成功"
     "data":null
 }

总结

1.一个接口,同一个字段不能拥有多种数据类型。(null 和 object array 算一个类型)
2.null代表错误,异常

欢迎大家留言评论并分享你的看法