【发布时间】:2019-08-08 20:28:44
【问题描述】:
我正在尝试遵循 RESTful 原则,但对如何设置“Eager”或“Lazy”端点有点困惑。
例如,一个
商店有很多产品
产品有很多成分。
产品有多种包装
当然,会急切获取的“坏”端点是:
api/shop/1
将返回 shop id 1 的详细信息,但也会返回:
所有 产品
所有 产品的成分
所有产品的包装
这当然是一个疯狂的模型......所以我只能猜测 RESTful 默认是“总是懒惰的”?
但是用“懒惰是默认的”说你想得到 10 种不同的产品及其成分......
api/shop/1/product/1/ingredients
api/shop/1/product/2/ingredients
api/shop/1/product/3/ingredients
请求数量有点高...10 种产品的 10 个单独的 HTTP 请求。
最后,您是否倾向于根据前端/消费者可能想要的东西来设计 RESTful 端点,而不是对业务/数据库进行建模?
api/shop/1/product-details?productId=1,2,3,4,5,6,7,8,9,10
以上是严格的“RESTful”吗?
所以我猜真正的潜在问题是:
RESTful API 设计是数据模型还是视图模型?
【问题讨论】:
标签: rest architecture restful-url