rest api design - >电子邮件通知

Fre*_*k L 3 rest

作为api调用的一部分进行自动通知(email/sms/etc)是不好的做法吗?或者应该与核心功能分开.

假设我更新项目状态,并希望向观看项目的所有用户发送通知.我可以从更新调用中执行此操作,还是应该将其分解为其他通知机制?有什么想法吗?如果从呼叫中执行此操作,我猜每个相关方法都需要跳过发送通知的选项.

Yur*_*rev 7

我想补充Rafael Mueller的回复,RESTful接口和实现机制之间存在差异.

就RESTful接口而言​​,这里是我的想法.假设您使用"PUT/project/123/status"更新项目状态.无论是否发送电子邮件,都取决于您的应用程序的价值主张.也许这就是你想要从竞争对手中脱颖而出的方式.

假设您支持发送电子邮件,但您希望在逐个呼叫的基础上控制客户端.我会使用可选的HTTP标头或请求主体的可选属性,无论是JSON还是XML或其他任何东西.

一旦您允许通过电子邮件发送项目状态的可变性,我建议设计一个指定的终点来按需触发电子邮件更新.像"POST/project/123/status/send-email"之类的东西.通过这种方式,您的客户不会陷入困境:如果他们忘记在项目状态更新期间发送电子邮件,或者只是改变主意,他们可以随时拨打"发送电子邮件".