减少从客户端到后端PostgreSQL的多个api调用



我有一个引用喜欢表的通知表。目前,我正在调用多个API调用来从客户端在两个表中创建行。

例如:如果一个用户点赞了一篇文章,它会在点赞表中创建一行,并在通知表中创建一行。

当用户再次删除类似时,它调用两个API调用来从两个表中删除这两个行。

因为唯一唯一的列,我有喜欢的表是id(自动递增主键),我试图找出什么是最有效的方法去做,因为我可以使用上删除级联删除部分,但当涉及到插入,我不确定是否使用触发器来创建行通知表每次用户喜欢,或者如果有另一种方式去它?

我建议谨慎使用这种方法。

如果你使用触发器来实现应用逻辑,那么它在栈的上层是不可见的。这可能会导致可维护性问题。

如果你有一些版本控制数据库配置的方法(包括触发器定义),并将其集成到部署管道中,那么它可能不会那么糟糕。

然而,我认为这就是api对于的作用。它们是应用程序逻辑的自然位置。它们易于版本控制并且非常灵活。

有两种方法来播放它:

  1. 可以从同一个API调用两个数据库吗?不要有单独的通知API,而要有一个喜欢的API(支持POST和DELETE方法来喜欢/不喜欢)。此API将使用单个数据库事务来更新like通知表(确保它们保持同步)
  2. 如果两个API必须保持独立,你能创建第二个API层吗?前端的like API可以(异步的?)调用"核心"的like API和通知API。这种方法的保证更少,但它确实根据需要将您减少到一个客户端API调用。

最新更新