我试图了解在处理关系标准化数据库时REST API如何工作。 例如,给定表Customer
, Order
和OrderType
:
Customer
ID
Name
Address
Order
ID
Amount
TypeId
CustomerId
Order Type
ID
Desc
如果我想查找给定客户的所有订单信息,则可以执行url/customers/:customerId/orders
; 并且在API中,它将处理对表执行联接以返回这样的响应?
{
"orderNumber": 123,
"type": "online",
"customer": "john doe",
"amount": "500"
},
{
"orderNumber": 124,
"type": "in-store",
"customer": "jane doe",
"amount": "100"
}
那是对的吗? 还是我需要做一些单独的API调用,例如url/customers/:customerId
, url/orders/:customerId
和url/orderType/:typeId
然后在前端组装信息?
如果在前端组合信息,则将失去关系数据库的大多数好处,并且必须编写大量代码而不是一行sql。 您可以根据要执行的特定任务来设计API路由,这不取决于应用程序体系结构和所使用的技术堆栈。