翻譯文章我目前正在研究乙個 rest api,並且提出了乙個問題,如何以及應該如何對 rest api 進行版本化?這是我的研究結果。how are rest apis versioned?
似乎有很多人推薦使用內容協商(http「 accept: 」 header)進行 api 版本控制。然而,我所關注的大型公共 rest api 似乎都沒有使用這種方法。他們幾乎完全將 api 版本號放在 uri 中,只有乙個例外,即使用自定義 http 標頭。我不知道如何解釋這種脫節。
帖子版本控制策略
stack overflow 1
uristack overflow 2
content negotiation
blog post by jeremy
content negotiation
ycombinator discussion
建議使用兩種
stack overflow 3
content negotiation
stack overflow 4
content negotiation
notmessenger blog post
uri (反對所有頭標)
peter williams
content negotiation (強烈反對 uris)
apigee blog post on api versioning
urinick berardi on rest versioning
urirestify
「accept-version」 header
tom maguire on rest versioning
content negotiation
nicholas zakas on rest versioning
uristeve klabnik on rest versioning
content negotiation + hateos
luis rei on rest versioning
content negotiation with (;version=1.0)
kohana forum discussion on rest versioning
許多建議
troy hunt on rest versioning
接受請求頭同事也支援自定義請求頭和url
paul gear rest versioning
用 hateos 方法推薦本質上無版本的可擴充套件性
廠家版本控制策略
示例uri
支付寶請求引數
公共請求引數 version
**請求引數v京東
請求引數v抖音
庫名稱版本控制策略
示例node-restify
semver versioning in an accept-version header
accept-version: ~3
jersey
description of how to do accept: header versioning in jersey
如何做研究
來自 在研究生期間,一開始大家都很迷惑,都不知道自己要幹什麼 該幹什麼?即便知道自己要幹什麼,也不知道從哪幹起?上次兩位老師跟我們交流了一下,下面是他們的心得 給乙個專案 解決方案 問題分塊 任務明細 一開始並不是所有的問題都會想到,但是起碼要有乙個大體的框架在心中,然後細化模組,對每乙個功能進行細...
如何做專案
1,以業務規則為綱,而不是業務實體 2,在思考和設計業務規則的時候,以業務核心為綱,什麼是業務核心,定義為,當前你最關注的,當前最不確定的那一部分。所以我現在不喜歡領域驅動,我喜歡業務驅動 其實可能二者是一碼事 那麼我這裡所說的業務驅動要怎麼驅動法呢?就先以上面兩條為起頭,然後再來說,業務規則,以找...
如何做行業的高手?
能夠在職業的專業方面有傑出成就的人,生涯往往是最 無趣 的。他們從職業之初開始做一件事情,反覆磨練,沒轉行,沒跳槽,無職業規劃,不和人競爭 突然有一天,他們聲名鵲起,就成了高手。小野二郎,就是這麼乙個人。2011年,日本拍了一部紀錄片叫 壽司之神 說的就是他的故事。小野二郎二戰後回國,開始學做壽司,...