Nestjs,在哪里处理restApi中资源之间的关系

问题描述 投票:0回答:1

nestjs Restful api中,处理资源之间关系的常见(也是好的)方法是什么。 我的项目几乎遵循这个结构,唯一的区别是我使用存储库而不是实体。

Cat
存储库为例(来自 nestjs 文档),我可以有另一个
Food
存储库。这不是猫的专属,它包含各种食物,但也包含一些猫粮。

如果我想获取与我的

type
相关的食物,采用restful api要求,我的端点将是:

/cat/:type/foods

这看起来很清楚,我喜欢它。

这个端点的位置在哪里? 在

Cat
控制器内部似乎是正确的位置,但我对此不确定。 我尝试遵循一个干净的架构,每个功能都彼此隔离,所以这似乎是错误的(?)。

为了避免这种情况,我可以将其添加到

food
内,但在这种情况下,常见的方法是这样做:

foods?catType=type

这似乎不太清楚,我个人不喜欢它。 有一个屏幕截图显示了我在获取所有商店中的挣扎:

那么,实现这一目标的好方法是什么?

资源使用:

https://www.infoq.com/articles/rest-introduction/

https://docs.nestjs.com/controllers#routing

javascript rest architecture nestjs
1个回答
0
投票

在我看来,因为这是多对多的关系。

您应该创建一个不同的端点,称为 CatsFood(它的模块、控制器、服务等)

/catsfood?catType=a,food=b
© www.soinside.com 2019 - 2024. All rights reserved.