我想阻止被标记为垃圾邮件发送者的用户在我的应用程序上发送邮件。 Messaging API是否应验证发送用户不是垃圾邮件发送者(从而返回400)?或者是来电者的责任?
有几个应用程序和一个网站正在使用CRUD RESTful API,其中有两个,一个用户,另一个用于消息。
争论的焦点是Messaging API的调用者是否负责验证用户的垃圾邮件状态。
思想?
答案 0 :(得分:1)
您可以考虑第三种选择。你写道:
来电者通常已经拥有用户个人资料。
您可以要求每个Message API请求包含用户配置文件。然后,Message API可以在不调用User API的情况下检测垃圾邮件发送者。
优点:
缺点:
我不是说这个选项是最好的,它只是另一个考虑的候选人。哪个选项最好取决于每个pro和con参数的权重。您和您的团队成员应该判断哪些方面对您的组织和您的具体情况最重要。
答案 1 :(得分:0)
业务逻辑总是使服务混乱。有些人通过将业务服务与基础架构/数据服务分离来解决这个问题。不幸的是,当单个基础架构数据服务导致许多业务服务发生变化时,这似乎会使事情变得更加复杂。
不要分发您的业务逻辑。保持服务“干净”是不值得的。这种“干净”的实施是虚构的。你已经有很多与其他服务的耦合,你只是没有这样想。我保证您依靠SMTP或MQ服务来进行消息传递。它们不是你写的服务。
我会像对待任何其他数据访问(如数据库)一样封装您对用户服务的访问权限。将其包装在DAO或存储库模式中。此时,您可以评估是否遇到性能问题,如果是,请为用户实施缓存层以解决问题。