鍍金池/ 教程/ Linux/ 保證響應(yīng) JSON 最小化
良好打印的默認 JSON
強制使用安全連接(Secure Connections)
通過請求中的范圍(Range)拆分大的響應(yīng)
嵌套外鍵關(guān)系
支持方便的無 id 間接引用
使用 UTC(世界標準時間)時間,用 ISO8601 進行格式化
提供標準的時間戳
提供資源的(UU)ID
提供全部可用的資源
描述穩(wěn)定性
路徑和屬性要小寫
強制頭信息 Accept 中提供版本號
生成結(jié)構(gòu)化的錯誤
使用統(tǒng)一的資源路徑格式
支持 Etag 緩存
保證響應(yīng) JSON 最小化
在請求的 body 體使用 JSON 格式數(shù)據(jù)
隔離關(guān)注點
顯示頻率限制狀態(tài)
提供可執(zhí)行的例子
返回合適的狀態(tài)碼
最小化路徑嵌套
可讀性
為內(nèi)省而提供 Request-Id

保證響應(yīng) JSON 最小化

請求中多余的空格會增加響應(yīng)大小,而且現(xiàn)在很多的 HTTP 客戶端都會自己輸出可讀格式("prettify")的 JSON。所以最好保證響應(yīng) JSON 最小化,例如:

{"beta":false,"email":"alice@heroku.com","id":"01234567-89ab-cdef-0123-456789abcdef","last_login":"2012-01-01T12:00:00Z","created_at":"2012-01-01T12:00:00Z","updated_at":"2012-01-01T12:00:00Z"}

而不是這樣:

{
  "beta": false,
  "email": "alice@heroku.com",
  "id": "01234567-89ab-cdef-0123-456789abcdef",
  "last_login": "2012-01-01T12:00:00Z",
  "created_at": "2012-01-01T12:00:00Z",
  "updated_at": "2012-01-01T12:00:00Z"
}

你可以提供可選的方式為客戶端提供更詳細可讀的響應(yīng),使用查詢參數(shù)(例如:?pretty=true)或者通過Accept頭信息參數(shù)(例如:Accept: application/vnd.heroku+json; version=3; indent=4;)。