首页 > 解决方案 > 查询参数 AND 和 OR 区分

问题描述

我想要以下网址:

于是想:

但是第二个。“或”位让我很感兴趣-/players?names=John&name=Mary

是错的

它应该是: -/players?names=John,Mary

注意:我认为纯 REST 并不关心,因为 URL 应该是不透明的,而只是在这里考虑更多的 API 或实用 REST。

标签: restapiurl-parameters

解决方案


REST 不关心您对标识符使用什么拼写,只要拼写符合RFC 3986定义的生产规则即可。

4 级 URI 模板支持将列表编码/提取到 URI 的行为。它们可以按照您在第二个示例中说明的方式工作/players?names=John,Mary,需要一些额外的魔法来处理数据中出现分隔符和保留字符的情况。

您还将看到特定查询名称重复多次的示例/players?name=John&name=MaryJAX-RS是可以将这种拼写提取为 aList或 a的示例Set

在某些情况下,您会发现使用括号[]来标识数组参数的示例:/players?name[]=John&name[]=Mary. 这不符合 RFC 3986,而是基于现已过时的旧规范。


推荐阅读