2011-05-03 86 views
1

我正在爲一家公司開發一個API。他們有多個項目排隊與API交互。API應該負責發送郵件嗎?

該API將被髮送的對象的id來禁用。如果這是成功的項目被禁用的用戶應該收到一封電子郵件。

我的問題是這樣的:API應該負責發送電子郵件,還是API應該返回對象被禁用以及發送電子郵件的電子郵件地址?

非常感謝,期待您的意見。

回答

1

像往常一樣,我會說這要看情況。由於發送電子郵件的要求是直接在API的範圍和API沒有做別的了,我不明白爲什麼它不應該把它。不過,我會考慮一定的配置級別。

你可以提供一個函數,它只是簡單地返回電子郵件地址(或使用一個標誌)和一個完成整個事情的函數(這也應該是可配置的,例如設置smtp服務器,電子郵件正文文本等)。如果您要整合電子郵件功能,只需提供一個簡單的功能/方法,只需對象操作便宜即可。

注:在任何情況下,我都會嘗試在開始開發之前解決與公司/客戶的這種要求模糊性。它可以爲您節省開發工作。

0

的問題是沒有這麼多的API是否應該在一般情況下發送電子郵件,但您是否正在開發其禁用對象應該是負責發送電子郵件的系統。這將取決於多種因素,如:

  1. 是否合法,一個對象被禁止,但電子郵件尚未發送?在分擔責任的情況下,其他系統可能無法發送電子郵件的風險?也許電子郵件地址無效或郵件服務器關閉。這種不一致會造成災難性後果嗎?如果是這樣,那麼電子郵件應該可能由您的對象禁用系統發送。
  2. 要麼兩個系統已經負責發送電子郵件等?如果是這樣,也許所有的電子郵件應該在那裏完成。

在一天結束時,由於不同的原因,這兩種解決方案在某種程度上可能是「正確的」。唯一明顯不好的設計是將你的系統調用回另一個系統,因爲這會造成循環依賴。

相關問題