设计REST API

时间:2015-11-18 15:26:48

标签: rest

目前,我有这个资源:

  

获取 / orders / {orderNumber} / {provisionId} / {taxYear} / docs

这将返回给定订单的文档。 Order由三个数字标识:orderNumberprovisionIdtaxYear。这是数据库中的主键。

我认为这是一个糟糕的资源设计,我想改变它,而不是为每个复合主键的部分使用不同的路径参数。

是否有标准来模拟这种资源?我不知道如何管理具有复合id的实体。

我原本想过这样做:

  

获取 / orders / {orderNumber,provisionId,taxYear} / docs

这将是订单标识符的一个路径参数,服务器会将其拆分以获取每个部分。

我想到的另一个选择是查询参数:

  

获取 / orders / docs?orderNumber = 1234& provisionId = 1054& taxYear = 2015

但我认为最后一个在REST架构中不会在语义上正确,因为在这种情况下查询参数是必需的,而不是“搜索过滤器”参数。

有没有标准可以做到这一点?哪个是更好的选择?

由于

0 个答案:

没有答案