Asp.net core Asp.Net核心REST API分层数据结构

Asp.net core Asp.Net核心REST API分层数据结构,asp.net-core,.net-core,asp.net-mvc-routing,.net-5,Asp.net Core,.net Core,Asp.net Mvc Routing,.net 5,我有一个关于如何构造控制器的问题。 让我们假设我有一个有商店和产品的系统,商店有产品 因此,获取存储的方法是/api/stores/{id},而获取产品的方法是/api/product/{id}或/api/stores/{id}/product/{id} 您将如何构造控制器?我是否应该拥有产品控制器和商店控制器,并且以其中的商店开始的每条路线都应该位于StoresController中,否则位于ProductsController中?这是Microsoft提供的: 在更复杂的系统中,可能很容易提

我有一个关于如何构造控制器的问题。 让我们假设我有一个有商店和产品的系统,商店有产品

因此,获取存储的方法是/api/stores/{id},而获取产品的方法是/api/product/{id}或/api/stores/{id}/product/{id}

您将如何构造控制器?我是否应该拥有产品控制器和商店控制器,并且以其中的商店开始的每条路线都应该位于StoresController中,否则位于ProductsController中?

这是Microsoft提供的:

在更复杂的系统中,可能很容易提供URI,使客户机能够浏览多个级别的关系,例如/customers/1/orders/99/products。然而,如果资源之间的关系在未来发生变化,那么这种复杂程度可能很难维持,并且是不灵活的。相反,尽量保持URI相对简单。一旦应用程序引用了资源,就应该可以使用此引用查找与该资源相关的项。前面的查询可以替换为URI/customers/1/orders以查找customer 1的所有订单,然后替换为/orders/99/products以查找此订单中的产品


这很有帮助,谢谢。但这并不能完全回答我的问题。在他们的示例中,URI/customers/1/订单应该在哪里?在CustomerController或OrdersController下?/orders/99/products OrdersController或products CONTROLLER是否相同?