Jersey REST api 正确过滤和排序
Jersey REST api filtering and ordering correctly
我有 Jersey REST API,我想添加按列排序、按列、基数、偏移量等进行过滤。但是我找不到具体的答案应该如何,或者是否有一些最佳实践可以遵循。它是 header 参数还是查询参数?它应该在一个参数下,如 Order = "name:asc" 还是两个参数,如 order_by = "name" 和 order_order_how = "asc"。或者完全由我来决定我该怎么做?
一般情况下,此信息位于查询参数中。我会看到一些模式。对我来说最直观的两个如下
/resource?sort=-firstname[,+lastname]
[]
表示可选的更多条件。 +
和-
表示顺序
我喜欢上面的模式而不是类似
的原因
/resource?sort=firstname&order=asc
就是上面的pattern,随着sort
和order
的分离,很难保证多个criteria的正确性。看来我们的解析算法可能容易出错,并且依赖于客户端的谨慎请求。
我有 Jersey REST API,我想添加按列排序、按列、基数、偏移量等进行过滤。但是我找不到具体的答案应该如何,或者是否有一些最佳实践可以遵循。它是 header 参数还是查询参数?它应该在一个参数下,如 Order = "name:asc" 还是两个参数,如 order_by = "name" 和 order_order_how = "asc"。或者完全由我来决定我该怎么做?
一般情况下,此信息位于查询参数中。我会看到一些模式。对我来说最直观的两个如下
/resource?sort=-firstname[,+lastname]
[]
表示可选的更多条件。+
和-
表示顺序
我喜欢上面的模式而不是类似
的原因/resource?sort=firstname&order=asc
就是上面的pattern,随着sort
和order
的分离,很难保证多个criteria的正确性。看来我们的解析算法可能容易出错,并且依赖于客户端的谨慎请求。