<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      GOTO Berlin: Web API設計原則

      在郵件列表和討論區中有很多與RESTWeb API相關的討論,下面僅是我個人對這些問題的一些見解,并沒有絕對的真理,InnoQ的首席顧問Oliver WolfGOTO Berlin大會上開始自己的演講“Web API設計原則”時如是說。

      不要考慮端點。SOAP有一個單獨入口點的外觀。相比之下Web有很多入口點,它們建立在關系上,彼此之間相互連接,并且以超媒體作為關鍵要素。為了不讓你的API成為一個只有一種接入方式的黑洞,你應該使用超媒體控制按照對聽眾有意義的表現方式去鏈接你的資源。

      不要在API中暴露領域模型。在很多模型中存在的一個問題便是它們僅包含數據,缺乏所有形式的行為,也就是所謂的貧血模型(anaemic model)。如果你暴露這樣一個模型,那么最終將會成為CRUD(創建、讀取、更新和刪除)和資源。這并不一定是一件壞事,有時你所需要的所有內容便是一個純粹的CRUD API。否則暴露一個CRUD模型的問題便是,使用這樣一個API的客戶端需要了解很多知識,清楚它能夠對哪些資源執行什么操作,按照什么樣的順序執行等等這些內容。大量的邏輯需要編碼在客戶端中,使得客戶端和服務器之間變得緊耦合。

      目的明確之后再設計API想想你的客戶端想要做什么,如何做。有時這需要在清晰度和靈活性之間權衡,你需要多么簡單清晰的API,需要什么程度的靈活性。一種靈活但是也更加迫切的獲取最有利可圖的客戶的方式是:

      GET /customers?sortBy=grossmargin&order=descending

      相比之下,下面是一種聲明意味更濃的暴露意圖的方式,但是也缺乏靈活性:

      GET /most_profitable_customers

      Oliver提到這里需要注意的一點是,考慮一下客戶端需要使用你的API做什么,它的意圖應該是什么,并盡量讓它完美契合這些需要。

      不要過度使用GETPOST這基本上意味著你不應該按照錯誤的方式使用它們,也不能違反HTTP規范。例如,你不應該使用GET或者POST刪除資源。每個HTTP動詞的產生都有各自的原因,它們之間是互補的,通過擁抱規范你得到的將會更多。使用動詞傳達目的,客戶端想要做什么,它們期望從服務器得到哪些行為。

      不要將錯誤碼的選擇限制為200500使用完整范圍的錯誤碼,有160個錯誤碼供你選擇,所以幾乎每一種類型的錯誤都有一個對應的錯誤碼。使用正確的錯誤碼是客戶端能夠合理處理錯誤的關鍵。一個常見的問題是,盡管發生了一個錯誤但是服務器依然返回200,OK。在這種事情發生時假裝所有事情運行良好顯然不是一個很好的想法。

      不要忽略緩存。 無論涉及到什么都會有緩存,它是Web的一個非常重要的部分。如果你不想使用緩存,那么通過添加合適的緩存頭明確地關閉它。
      一種比較好的控制緩存的方式是使用驗證器,最好是Etags。它們允許服務器端操作任意的數據,一個Etag僅僅是服務器生成并傳入緩存的一個值,然后緩存會將其傳回以詢問服務器是否有更新的資源。

      不需要版本。通常情況下,當資源發生變化的時候實際上它僅僅是展示發生了改變,而它依然是那個資源,應該使用同一個URL,因此避免將URL版本化。相反的,應該有一個新版本的媒體類型,例如通過下面的方式添加版本v2:

      Content-Type=application/vnd.company.v2+xml

      不要對內容協商使用擴展。協商一種表現格式的正確方法是在消息頭中使用Accept和Content-Type。

      2013年的GOTO Berlin大會是GOTO大會首次在Berlin舉行,本次大會有超過400位參會者和大約80位講師。

      查看英文原文GOTO Berlin: DO’s and DON’Ts in a Web API

      posted @ 2013-10-23 06:24  張善友  閱讀(2748)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 肉色丝袜足j视频国产| 亚洲精品成人一二三专区| 精品国产精品三级精品av网址| 亚洲国产成人精品女久久| 国产拗精品一区二区三区| 亚洲国产在一区二区三区| 成人亚欧欧美激情在线观看| 少妇人妻偷人精品无码视频新浪| 狠狠躁天天躁中文字幕无码| 女人香蕉久久毛毛片精品| 色 亚洲 日韩 国产 综合 | 欧洲一区二区中文字幕| 久久热精品视频在线视频| 秋霞电影网| 国产喷水1区2区3区咪咪爱AV| 精品国产一国产二国产三| A级毛片无码久久精品免费| √天堂中文www官网在线| 超清无码一区二区三区| 亚洲综合无码AV在线观看| 精品国产免费第一区二区三区 | 日韩精品一区二区蜜臀av| 九九在线精品国产| 久久精品无码av| 国产成人精品久久一区二区| 亚洲av日韩在线资源| 日本japanese丰满白浆| 成人精品动漫一区二区| 日韩av片无码一区二区不卡| 日韩熟女精品一区二区三区| 福利网午夜视频一区二区| 国产一区二区在线有码| 精品久久久久久久中文字幕| 青草草97久热精品视频| 深夜福利资源在线观看| 精品久久国产字幕高潮| 日韩精品专区在线影院重磅| 亚洲人妻系列中文字幕| 67194熟妇在线观看线路| 最新av中文字幕无码专区| 大陆一级毛片免费播放|