目前,我有这个资源:
获取 / orders / {orderNumber} / {provisionId} / {taxYear} / docs
这将返回给定订单的文档。 Order
由三个数字标识:orderNumber
,provisionId
和taxYear
。这是数据库中的主键。
我认为这是一个糟糕的资源设计,我想改变它,而不是为每个复合主键的部分使用不同的路径参数。
是否有标准来模拟这种资源?我不知道如何管理具有复合id的实体。
我原本想过这样做:
获取 / orders / {orderNumber,provisionId,taxYear} / docs
这将是订单标识符的一个路径参数,服务器会将其拆分以获取每个部分。
我想到的另一个选择是查询参数:
获取 / orders / docs?orderNumber = 1234& provisionId = 1054& taxYear = 2015
但我认为最后一个在REST架构中不会在语义上正确,因为在这种情况下查询参数是必需的,而不是“搜索过滤器”参数。
有没有标准可以做到这一点?哪个是更好的选择?
由于