如果产品包含在API中,那么购物车功能也应包含在API中吗?

时间:2019-03-19 18:45:57

标签: angular asp.net-core

我正在研究一个实践示例,其中我将一堆产品添加到由.Net Core API执行的数据库中。在我使用Angular显示它并使用应用程序的视图部分之后。

当前,我能够添加产品,在屏幕上显示产品,过滤产品并对其进行其他处理。我想知道的是,例如,如果用户想要将某种产品添加到自己的私家车中,我应该如何工作?

我在想两种方法: 在涵盖购物车的数据表中创建一个表格,并使用外键对产品进行操作,而对Api进行POST,即可将商品添加到购物车中。

或者当一个人单击Angular应用程序中的按钮时,它只是将特定项目添加到购物车中,就像显示它一样。使用GET方法,我已经在我的API中实现了。

我不确定哪种方法更好,或者两种方式我都错了? 你能给我什么建议?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

好吧,您基本上已经在使用微服务了;您目前只有一项服务。对于微服务,您需要考虑的主要问题是构成应用程序“域”的内容以及其中存在哪些子域。也许购物车和产品位于同一个子域中,因此可以由同一个服务处理。不过,更有可能的是它们是单独的子域,您应该拥有产品服务和购物车服务。

您需要考虑整个领域的原因是因为这会影响此处的一些数学。现在,您只是在谈论产品和购物车,也许您可​​以为那些属于同一服务的产品辩护。但是,您不会在这里停下来。某种形式的结帐流程显然将成为其中的一部分(否则,向购物车中添加物品的意义不大)。因此,鉴于此,可以合理地假设您可能具有结帐服务。现在,您不得不问,购物车是 that 子域的一部分。也许购物车比产品服务更适合您的结帐服务,或者您需要以下三个方面的服务:产品,购物车和结帐。

总之,这里没有硬性规定。您需要确定应用程序的域是什么,以及如何将该域细分为独立的服务。然后,您需要确定如何协调这些服务和子域之间的工作。这是您的体系结构;最终,您必须弄清楚。