最佳实践处理多个选择器

时间:2014-01-14 15:23:12

标签: api rest restful-architecture

我第一次创造了一个宁静的api。让我们从一个例子开始: 我有一个产品,可以链接到多个类别。

在客户端,我只需要一个表格,我可以填写产品详细信息,我有一个多选择器,我可以选择我的类别。

处理此类事情的最佳做法是什么。我是否将我的数据发布/放入一个api call / api / product并处理类别。或者我在客户端中拆分类别选择和产品详细信息,并创建2个api调用(一个用于产品详细信息,一个用于类别选择)。

我在这里寻找最好的选择。两者都有可能。只有一个api电话会是最简单的。但我严格保持安静,我需要2& pi-calls ......

感谢您的回答!

2 个答案:

答案 0 :(得分:0)

我没有看到单个API调用有任何问题。

因此,您可以POST / PUT/api/product并将产品详细信息和产品所属的类别作为参数传递。

如果是添加,我假设您将对/api/product进行POST并传递产品名称,价格等参数以及类别列表。

同样,在更新的情况下,您可以执行PUT/api/product/<productid>并传递上述参数。

答案 1 :(得分:0)

&#39;产品&#39;是这里的资源。

因此&#39; api / products&#39;给出产品清单。 &#39; api / products / {{id}}&#39;提供产品的详细信息。

一个想法是将类别视为资源本身。每个产品订阅零个或多个类别。所以&#39; api / categories&#39;给出一个类别列表。现在你有另一个资源说&#39; product_subscription&#39;将产品映射到类别。那是&#39; api / product_subscriptions&#39;给你一个这样的列表:

{
    "productId":"someid"
    "categoryId":"some_category_id1"
},
{
    "productId":"someid"
    "categoryId":"some_category_id2"
},
{
    "productId":"someid"
    "categoryId":"some_category_id3"
}

您可以使用查询参数进一步过滤此列表。