我需要根据一组送货 ID 获取购买票证报告。 例如:
- /购买票证报告的 GET uri
- [1,3,5,7] 的交货 ID
在 REST 实现中表示这一点的正确方法是什么? 它似乎没有完全映射到标准的 REST 请求。 您是否建议回退到查询字符串参数,例如:
GET/purchase-ticket-report?deliveryIds=1,3,5,7
^^^ 我什至不完全确定以这种格式传递 qs 参数是否有效。 另一种选择可能是通过 json 请求正文中的属性传递 int 数组。 您将如何在 REST 实现中处理此场景?
建议回退到查询字符串参数,例如:
GET /purchase-ticket-report?deliveryIds=1,3,5,7
这看起来很棒
- 符合RFC 3986的生产规则
- 使用 HTML 表单重新创建很容易
- 它很容易被描述为一个 URI 模板,任何具有 4 级支持的模板库都可以理解该模板。
另一种选择可能是通过 json 请求正文中的属性传递 int 数组。
这是最后的手段 - 如果列表可以包含如此多的元素,以至于您开始突破 URI 长度限制,则可能需要这样做。 但是,如果可以将 ID 保留在 URI 中,这将使缓存变得更加容易。