返回json约定
Opened this issue · 3 comments
destinyd commented
这个issue主要讨论返回json的约定(规范)
大概有以下一些情况
- 创建、更新(create、update)
- 删除(destroy)
暂时未转换成json形式的C
- 列表(index)
- 详情(show)
- 新建、修改(new、edit)
另外就是还有错误的情况,需要做特殊处理
destinyd commented
按照最终需求,engine只有C层,那么其实和纯API以及大致类似。
我觉得可以参照一些大公司的API,取其精华即可。
以下是一些公司API的说明:
- 微信 https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316518&token=&lang=zh_CN
- 微信返回码说明 https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318634&token=&lang=zh_CN
- 百度地图 http://lbsyun.baidu.com/index.php?title=lbscloud/api/geodata
- 百度地图返回码说明 http://lbsyun.baidu.com/index.php?title=lbscloud/api/appendix
- 淘宝 https://open.taobao.com/doc2/apiDetail.htm?spm=0.0.0.0.kgs9xD&apiId=24365&docType=
- 淘宝错误码
ben7th commented
有哪些精华啊
destinyd commented
微信
请求正确时不一定带 errcode,有errcode: 0时, 未必有errmsg 。
失败时必然带errcode 和 errmsg
{
"errcode":0,"errmsg":"ok"
}
{
"errcode":40003,"errmsg":"invalid openid"
}
百度地图
请求不管正确还是错误,均带有 status message
index 返回 size 与 对应的模型名称的复数以及列表 如 geotables 。total 非必定有。
show 返回 对应的模型 如 geotable
create 返回 id
update,destroy 无其他附加
淘宝
相对较复杂。
json最外层为请求方法 + response
其余暂时未看到什么好的规律