有比较流行的 JSON 接口格式规范么?

2014-07-29 19:49:30 +08:00
 tinyhill
日常和开发约定 JSON 接口,每次项目都按开发个人喜好给,各种字段定义和命名规范,没法满足我强烈的代码洁癖症。今天看到个东东,有没有类似的推荐?

传送门: http://labs.omniti.com/labs/jsend
10415 次点击
所在节点    JavaScript
12 条回复
eslizn
2014-07-29 19:51:23 +08:00
我一般就是标准http请求报文,返回的json :{status:number, msg:string, data:{...}}
Livid
2014-07-29 20:32:31 +08:00
以前我在设计 JSON 接口的时候,当时是参考看 Twitter 的 API 接口是怎么设计的。
datou552211
2014-07-29 20:37:39 +08:00
https://github.com/interagent/http-api-design
之前收藏的,看过感觉挺有帮助的。希望对你有用
tamamaxox
2014-07-29 20:45:25 +08:00
julyclyde
2014-07-30 12:09:47 +08:00
见过不少把status写在json内,而不用HTTP status line的
感觉很寨

但既然很多这么用的,自然有理由。求教到底是什么理由
eslizn
2014-08-07 12:49:16 +08:00
@julyclyde 塞在json里的status是指业务逻辑的操作状态,比如用户注册,注册失败总不可能返个http 5xx吧
julyclyde
2014-08-07 14:06:12 +08:00
@eslizn RESTful的话,返回5xx挺合适的
eslizn
2014-08-07 16:26:41 +08:00
@julyclyde 那样的话错误状态就只能定义100种咯,而且有些转发机会受http status影响,还会增加一定的开发复杂度
julyclyde
2014-08-08 11:53:18 +08:00
@eslizn 4xx也可以用啊
eslizn
2014-08-08 13:19:36 +08:00
@julyclyde 那你就这样用呗
siteshen
2014-08-08 18:14:43 +08:00
@julyclyde 理由之一是方便客户端处理,客户端可以无脑解析body(某些客户端http请求返回非2xx状态码时异常),统一处理。现在我们的方式是,status line里有写,json body里也有写(相同),客户端爱咋搞咋搞。

@tinyhill 我司的JSON接口字段定义绝大部分按DB定义中的来,尽量保持API和DB的一致(好了,现在引入了另外一个问题“有比较流行的数据库字段命名规范么”)。
另 1.我司的API在JSend基础上增加了meta字段,添加额外信息(next_url, elapsed_ms)等;

随口吐个槽,这个怎么会放在JavaScript这个节点下面?不应该是API设计之类的节点吗?
justjavac
2014-10-12 22:06:11 +08:00
@tamamaxox 我正在翻译中文版,希望对英语不好的开发者有所帮助: https://github.com/justjavac/json-api-zh_CN

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/125132

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX