我有一個處理髮送短信的控制器,它被設置爲默認資源。現在,業務需求發生了變化,我們希望提供發送消息的用戶三種不同的方式:他們的聯繫人名單 如何使這個概念RESTful?
- 爲了大家的聯繫人列表中的分段部分(預定)
- 他們可以選擇的個人聯繫人
此外,他們可以通過兩種方式發送SMS消息:Premium(通過短信網關)或Standard(通過SMTP)。所以基本上有六種不同的發送消息的方式(三種爲優質,三種爲標準)。
的要求規定,三個選項上述需要爲以「精靈般」的格式呈現,三個單選按鈕選擇,然後提交按鈕,顯示適當的形式和列表:
- 如果選項1(發送給所有人)然後只顯示發送短信的文本框
- 如果選項2(發送到段)然後顯示段的列表作爲單選按鈕
- 如果選項3(發送到特定)然後顯示一個可搜索/排序的名單旁邊帶有複選框的所有聯繫人列表,並在提交時選擇所有人檢查發送。
我遇到的問題是如何使這適合資源強加的RESTful約定。這些用例中的每一個在技術上只有一個動作(好吧,兩個,因爲它對應於new/create),但看起來在動作中需要有過多的邏輯,而且相當混亂(switch語句或類似)。
對此有更好的方法嗎?
您能描述發送消息的控制器資源上的接口嗎?它接受哪些數據?不知道這一點,我們所能做的就是給你理論。 :) – delfuego 2009-12-11 15:04:25
爲了保費,它需要聯繫人的手機號碼和消息,並將其發送到PHP Web服務,後者又調用外部Web服務(有直接從Ruby調用外部服務的SOAP頭問題)。對於SMTP,它需要手機號碼,調用PHP Web服務(它再次調用外部服務)來獲取運營商,然後使用SMSFu插件。現在的代碼是由一名離岸程序員完成的,而且非常混亂,幾個大型的if語句基本上做了同樣的事情。 – 2009-12-11 15:07:18