2017-05-04 141 views
-4

我必須說服我的同事採用REST API級別2到期的Richardson(至少)。他們更喜歡只使用POST動詞。 我的論點是:爲什麼寧靜的API?

  • 與我們選礦緩存性能合適的動詞(如:獲取冪等要求)
  • 與approriate動詞就一定標準,就可以與他人
  • 適當的輕鬆協作動詞url可以是顯式的

你能給我其他的參數嗎?

+0

有沒有這樣的事情的RESTful API或客戶端的問候之前的水平理查森成熟度模型3.少數REST約束條件之一就是HATEOAS已經就位,其他的都不是REST! –

回答

1

你能否給我其他論據?

可能不是。 REST是一種架構風格,旨在解決您可能沒有的問題。

菲爾丁,writing in 2008

REST是爲跨越多個組織長期存在的基於網絡的應用。

如果您看不到約束的需要,那麼請不要使用它們。

您可以嘗試從GET方法開始,使用它來隔離safe(不僅僅是冪等)操作。在本質上,GET/POST的區別(因爲HTTP/1.0這一直是標準的一部分,與伯特蘭·邁耶的Command Query SeparationCQRS pattern對齊,或者「讀權限VS寫權限」,如果你想回去遠遠不夠。

但是,如果這不符合您的解決方案空間的其餘部分,那麼您不妨在購買時區分冪等性寫入和非冪等性寫入。

如果我必須猜測,真正的問題您的團隊習慣於將HTTP視爲一種消息傳遞系統,它恰好可以通過端口80(或最近通過443)進行隧道傳輸,而不是一個文檔交換應用程序。一個REST API並不是一個映射的將您的業務領域api轉換爲一套標準的方法;相反,您的REST API中的資源是您的集成域的一部分,它用於掩蓋無聊「網站」掩碼背後的豐富域模型與「表單」。

您可能需要兩種審查吉姆·韋伯會談: