rpc - 接口返回数据结构的设计

 

方案一:

系统级状态  、业务级别的状态同用 code
要特殊声明保留状态,如若不声明保留状态,一旦业务开发人员用到了系统级的状态,就有必要侵入的改动业务返回的code(新code与业务欲返回的code不一样,不好调试),不是很好

// --- 系统级状态  ---
{
    'code' : 20000,
    'message' : '系统没有出错、登录检查过了、权限检查过了、业务执行正常',
    'data' : {
    }
}

{
    'code' : 20001,
    'message' : '系统出错-对业务的开发人员要声明保留',
    'data' : {
    }
}

{
    'code' : 20002,
    'message' : '登录检查没有过-对业务的开发人员要声明保留',
    'data' : {
        'jumpUrl' : 'http://passport.baidu.com/'
    }
}

{
    'code' : 20003,
    'message' : '权限检查没有过-对业务的开发人员要声明保留',
    'data' : {
        
    }
}

// --- 业务级状态  ---
{
    'code' : 20004,
    'message' : '业务1出错',
    'data' : {
        
    }
}

{
    'code' : 20005,
    'message' : '业务2出错',
    'data' : {
        
    }
}

 

方案二: (更偏向此种)

系统级状态  、业务级别的状态拆开  code.data.code(无需特殊声明)
无需特殊声明保留状态,不会带来侵入修改的问题

// -------- 系统级状态  --------------
{
    'code' : 200,
    'message' : '系统没有出错、登录检查过了、权限检查过了',
    'data' : {
    }
}

{
    'code' : 201,
    'message' : '系统出错',
    'data' : {
    }
}

{
    'code' : 202,
    'message' : '登录检查没有过',
    'data' : {
        'jumpUrl' : 'http://passport.baidu.com/'
    }
}

{
    'code' : 203,
    'message' : '权限检查没有过',
    'data' : {
        
    }
}

// -------- 业务级状态  --------------
{
    'code' : 200,
    'message' : '系统没有出错、登录检查过了、权限检查过了',
    'data' : {
        'code' : '201'
        'message' : '业务1出错'
    }
}

{
    'code' : 200,
    'message' : '系统没有出错、登录检查过了、权限检查过了',
    'data' : {
        'code' : '201'
        'message' : '业务2出错'
    }
}

 

posted on 2017-01-17 17:09  周~~  阅读(492)  评论(0)    收藏  举报

导航