4
想象一下,一些人想要查詢披薩服務器的比薩餅列表。這個人會做簡單的我應該如何與服務器通信?
GET /pizzas
;=> ["cheese", "extra cheese", "broccoli"]
隨着底座式應用的數據模型和消息,我不知道如何設計客戶端服務器通信。下面是吊牀的一些分鐘帶來的可能性:
- 一種效果消費者該
- 轉換的消息到HTTP請求
- 變換回結果(至例如
[{:type :add :topic [:pizzas] :value "cheese"} ...]
) - 放隊列中的消息
- A se上的專用資源rver(,例如 「/ EDN」),該
- 接受基座消息
- 分派到正確的函數
- 響應與原始數據(即 [ 「乾酪」, 「額外的奶酪」, 「西蘭花」])
- 具有影響消費者變換回結果的消息
- 使用路由一個專用資源。就像#2,但
- 修改請求
- 將其轉發到路由表的另一個條目
- 消息兩側,與
- 服務器電文轉換函數調用
- 服務器將結果轉換回消息
- 客戶端僅將這些消息添加到隊列
在我看來,與接近#2,#4,我會旁路而失去了攔截器的所有好處。使用方法#2,我需要加倍路由邏輯。通過方法#4,我還需要生成大量代碼以適應基礎客戶端。
選項#1和#3似乎更好,但#3味道不好,而且#1,誤導了。
你們是怎麼做到的?
謝謝!