鍍金池/ 教程/ Linux/ 強制頭信息 Accept 中提供版本號
良好打印的默認 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

強制頭信息 Accept 中提供版本號

制定版本并在版本之間平緩過渡對于設(shè)計和維護一套 API 是個巨大的挑戰(zhàn)。所以,最好在設(shè)計之初就使用一些方法來預(yù)防可能會遇到的問題。

為了避免 API 的變動導(dǎo)致用戶使用中產(chǎn)生意外結(jié)果或調(diào)用失敗,最好強制要求所有訪問都需要指定版本號。請避免提供默認版本號,一旦提供,日后想要修改它會相當困難。

最適合放置版本號的位置是頭信息(HTTP Headers),在 Accept 段中使用自定義類型(content type)與其他元數(shù)據(jù)(metadata)一起提交。例如:

Accept: application/vnd.heroku+json; version=3