我正在尝试了解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
,然后在前端汇集信息?
答案 0 :(得分:1)
如果你在前端收集信息,你将失去关系数据库的大部分好处,并且必须编写大量代码而不是一行sql。您可以根据要执行的特定任务来设计API路由,这不依赖于应用程序体系结构以及您使用的技术堆栈。