学习笔记《JSend》

在 AJAX 操作的时候,服务器端的数据返回格式是 JSON,但是 JSON 的具体内容呢?是否有一定的标准可以参考呢?其实网上有讨论,选择是比较多的:
http://stackoverflow.com/questions/12806386/standard-json-api-response-format

  • JSON API
  • JSend
  • OData JSON Protocol
  • HAL
  • JSON-RPC 2.0

之所以选择 JSend 是因为他的简单,虽然 HTTP1.1 协议已经被广泛的使用也支持 put delete 等方法,但是本身 HTML 表单的诸多形式限制,让 web 开发依然保持简便的 get post 为核心,未来如何,要看 HTTP2 和 Chrome 的市场占有率能到什么程度了

JSend 属于 OmniTI 这家美国小型公司旗下 OmniTI Labs 中的一个项目,因为其简单够用,所以感觉其制定以后连维护的必要也没有(我也没有找到作者是谁):
https://labs.omniti.com/labs/jsend

JSend 将所有的请求区分为三种不同的状况(status):

  • Success
  • Fail(表单数据验证错误)
  • Error(系统层面的错误)

将返回的一级菜单也仅仅设定为四个:

  • status
  • data
  • message(在 Error 的时候必选使用)
  • code(在 Error 的时候可选使用)

Success:

{
    status : "success",
    data : { "post" : { "id" : 2, "title" : "Another blog post", "body" : "More content" }}
}

Fail:

{
    "status" : "fail",
    "data" : { "title" : "A title is required" }
}

Error:

{
    "status" : "error",
    "message" : "Unable to communicate with database"
}

非常简单

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 128,881评论 18 137
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 43,086评论 6 343
  • 原文链接:http://www.jianshu.com/p/6b816c609669 前传 出于兴趣最近开始研究k...
    悬笔e绝阅读 6,702评论 1 11
  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 2,143评论 0 6
  • 朋友圈好文,点赞转发最多十万加。既能显示传播量,又能遏制攀比、排名、绩效考核等。 十万加。是反的。什么意思??无论...
    北漂廿年阅读 186评论 0 1
  • 1、查看ruby版本,在终端中输入ruby -v,2.0版本过低,需要升级ruby 2、升级ruby 1)检查是否...
    oo追xx阅读 443评论 0 0
  • 王思聪x林更新 又来放毒 上海的冬天倒是冷的一塌糊涂,林更新头贴在酒店的玻璃上,望着深夜里的黄浦江。 房间是王思聪...
    哦没有能用的了阅读 51评论 0 0
  • 今天去考了科目一,97分,顺利通过,算是一个良好的开端吧,但愿接下来也顺利。 读了太多心灵鸡汤,有了些些的紧迫感,...
    轻柔细语的阅读 133评论 0 0
  • 摘要:研究红学的一些专家、评论家都对林黛玉这一人物持有反对的态度,而在我看来,林黛玉作为《红楼梦》中的主要人物,可...
    Rachel109796阅读 5,026评论 0 7