如何在REST API中表达查询参数之间的高级表达式?

Dav*_*erg 8 java rest jax-rs jersey resteasy

问题(或缺少的特征)是不同查询参数之间缺乏表达可能性.当我看到它,你只能指定and参数之间,但是你怎么解决它,如果你想拥有not equal,orxor

我希望能够表达如下内容:

所有年龄在20岁或以博斯为名的用户

/用户年龄= 22?|名=博塞

除David和Lennart之外的所有用户

/用户?名字!=大卫&名字!=伦纳特

我的第一个想法是使用一个名为_filter的查询参数,并使用我的表达式获取一个String,如下所示:

所有年龄为22岁或姓名不是博士的用户

/ users?_filter = age eq 22或name neq Bosse

这个问题的最佳解决方案是什么?

我正在用Java和Jersey编写我的API,所以如果Jersey有任何特殊的解决方案,请告诉我.

Thi*_*ier 3

我可以看到两种解决方案来实现这一目标:

希望它对你有帮助,蒂埃里