Ral*_*lph 6 rest jax-rs query-parameters
我有一个调用RESTEasy(JAX-RS)Java服务器的Java客户端.我的一些用户可能拥有比服务器更新版本的客户端.
该客户端可以调用服务器上的资源,该资源包含服务器不知道的查询参数.是否有可能在服务器端检测到这一点并返回错误?
我理解,如果客户端调用尚未在服务器上实现的URL,则客户端将收到404错误,但如果客户端传入未实现的查询参数(例如:),会发生什么?sort_by=last_name
?
是否有可能在服务器端检测到这一点并返回错误?
是的,你可以做到.我认为最简单的方法就是使用@Context UriInfo
.您可以通过调用getQueryParameters()
方法获取所有查询参数.所以你知道是否有任何未知参数,你可以返回错误.
但是如果客户端传入未实现的查询参数会发生什么
如果您没有实现处理"未知"参数的特殊支持,则将调用该资源并以静默方式忽略该参数.
我个人认为最好忽略未知参数.如果您只是忽略它们,那么使API向后兼容可能会有所帮助.