我有两个类之间的多对多关系:供应商和产品。从ASP.Net Web API获取相关记录的正确方法?
在我的Web API中,我为每个类都有一个控制器。两个控制器都有明显的动作,获取对象列表并通过Id获取单个对象。
我需要的是一个动作,获取每个对象的许多对象。例如,如果我提供VendorId,那么我需要供应商提供的所有产品。同样,如果我提供ProductId,那么我希望所有提供产品的供应商。
我有三个问题:
1)我认为产品的控制器应具备,需要一个厂商ID,并返回产品(,反之亦然对于卖方控制器)的作用。这是“正确的”方法吗?
2)我如何实现上述?我不能只添加另一个获取操作,它需要一个Id,因为控制器已经有了该方法签名的操作(单个项目方法)。
例如:
http://localhost:53962/api/product/1 // grabs product with Id = 1.
http://localhost:53962/api/product/vendor/1 // causes 404
3)应在网址是什么样子时,我希望所有的产品适用于特定供应商?