restful 接口返回结果result结构设计

        今天简单讲讲使用HTTP协议的RESTFUL接口返回结果对像设计,单体应用前后对接口方式都是使用RESTFUL风格,在工作这么多年里,每一个公司 RESTFUL接口返回结果结构风格都不一样,在想为什么会这样,没有一些统一完整的标准规范。

        例如:比较常见的result:{status,msg,data},然而使用status值类型竟不相同,有人用 int,有人用 string,个人选择用 int,占有4个字节,原因简单明了的状态码,使用数字描述更简单,其实status这字段也有人使用 status

    code结果值反馈也不相同,有用1表示成功,非1表示失败,有用200表示成功,非200表示失败,个人选择 200 表示成功,非200表示非成功,原因这个符合浏览器的 status值。

        另外 result中的三个字段能不能诠释出这个接口的所有信息,data表示返回结果值,如果当非正常情况下,接口需要其它的业务信息 ,就没有字段保存,这时会增加一个bizInfo。

        当接口异常的时候, msg直接提示出程序异常信息,客户看见这样的信息一是很奇怪,二是很反感,那应该提示“系统异常,联系管理员”,给出客户明确的指示,那对于开发人员来说,就不能直观快速的定位问题,给于客户的响应,这时 我个人会增加一个 exception的字段。

        还有一个场景就是分页的结果集,分页字段有 pageIndex,pageSize,total,totalPage,那这些字段是放在 data对象里,还是放在 result中,个人的选择会放到 data中,主要依据分页属性不属于所有接口共用的,

        结合上面所有情况,得出一个result结果对象结构,实例如下:

{

code:200,

msg:"成功",

data:{

    pageIndex:1,

    pageSize :10,

    total : 21,

    totalPage:3

    record:[{}]

},

bizInfo:"接口数据",

exception:"空指定"

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容