PHP RESTful API如何在资源中获取/详细信息

时间:2015-04-23 14:17:38

标签: php api rest

我正在寻找基于doctrine2的RESTful API设计的最佳方法。

示例

我有两个示例表。 Product and ProductAttribute(一对多关系)

当我提出像/ products这样的请求时,我可以看到没有属性的产品列表。

当我提出/ products / details之类的请求时,我希望看到每个产品附带子资源属性的产品列表。

我想知道单独行动(使用separete查询)或使用相同的查询和相同的DataProvider作为/ products操作并将某种联接放到/ product-attribiutes资源更好。

问题

一般问题是“您对/ products和/ products / details操作使用相同的查询吗?”

2 个答案:

答案 0 :(得分:0)

通常,对/products的调用应返回该产品的所有相关数据字段(详细信息/库存/成本等)。呼叫/products/details的情况应仅显示该产品的详细信息字段。

答案 1 :(得分:0)

就RESTful API设计而言,一种可能的解决方案是将details作为/products的可选参数。使用此解决方案,/ products的查询将仅返回没有属性的列表,而/products?details=true的查询将返回列出所有详细信息的列表。

另一种可能性是实现expandembed查询参数,该参数可用于指定应扩展哪些特定字段。例如,查询/products?expand=company,shipping_info会扩展companyshipping_info资源。这符合本指南的建议:http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#autoloading