[英]Business Logic in CRUD RESTful API
我想防止被标记为垃圾邮件发送者的用户在我的应用程序上发送消息。 Messaging API是否应该验证发送用户不是垃圾邮件发送者(从而返回400)? 还是来电者的责任?
有几个应用程序和一个使用CRUD RESTful API的网站,其中有两个,一个用于“用户”,一个用于“消息传递”。
争论的焦点是消息传递API的调用者是否负责验证用户的垃圾邮件状态。
有什么想法吗?
您可以考虑第三个选择。 你写了:
呼叫者通常已经具有可用的用户配置文件。
您可以要求每个Message API请求都包括用户个人资料。 然后,Message API可以检测垃圾邮件发送者而无需调用User API。
优点:
缺点:
我并不是说这个选项是最好的,这只是要考虑的另一种选择。 最佳选择取决于每个赞成和反对论点的权重。 您和您的团队成员应判断哪些方面对您的组织和具体情况最重要。
业务逻辑总是使服务混乱。 有些人通过将业务服务与基础架构/数据服务分开来解决此问题。 不幸的是,当单个基础结构数据服务导致许多业务服务发生变化时,这似乎会使事情变得更加复杂。
不要分发您的业务逻辑。 保持服务“干净”是不值得的。 这种“干净”的实现是虚构的。 您已经与其他服务建立了很多联系,只是您并没有那样想。 我保证您依靠SMTP或MQ服务进行消息传递。 它们不是您编写的服务。
我将封装对用户服务的访问,就像对其他任何数据访问(如数据库)一样。 将其包装为DAO或存储库模式。 届时,您可以评估是否遇到性能问题,如果是,请为用户实现一个缓存层以解决该问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.