28

@QueryParamJAX-RS和 之间有什么区别@MatrixParam?从文档中。查询参数和矩阵参数都可以在特殊条件下定位一种资源。那么用例有什么区别呢?

ps:

查询参数:

url ? key=value;

矩阵参数

url; key=value;

4

2 回答 2

18

@MatrixParam注释将应用于 URL 中存在的特定资源, 并将@QueryParam应用于整个请求 URL。

以任何超市为例,如果您想要满足多种条件的所有水果,例如 type=fruits 并且价格范围从 300 开始并列出匹配的 10 种水果,您可以进行以下 API 设计,

http://dev.brandstore.com/inventory/grocery;type=fruits/price;range=300/?limit=10

在上面的示例中,第一个 Matrix 参数type=fruits仅适用于杂货资源,同样range=300适用于仅价格资源,但用于分页的查询参数limit=10适用于整个请求 URL。是的,如果只使用查询参数,你最终会得到像“grocery_type”和“grocery_price”这样的参数,并且你会失去请求中参数的位置所增加的清晰度。

于 2017-10-04T13:07:19.847 回答
17
于 2012-04-17T03:35:37.257 回答