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

強(qiáng)制頭信息 Accept 中提供版本號(hào)

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

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

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

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