如何在Java Jersey REST服务中强制使用queryparams?

Kav*_*vya 6 jersey

我有一个REST API,可以接受3个查询参数.在没有任何一个查询参数的情况下调用查询时,API将执行并返回结果.我们如何强制使用queryparams?如何添加验证以检查是否存在所有参数?另外,请告诉我最好的方法.

con*_*dit 0

在一个非常简单的层面上,你可以注入HttpServletRequest并检查自己:

@GET
public Response example(@Context HttpServletRequest request, 
                        @QueryParam("name") String name) {
  if (null == request.getParameter("name")) {
    ResponseBuilder builder = Response.status(404);
    return builder.build();
  }
  // Do something with name
}
Run Code Online (Sandbox Code Playgroud)

或者您可以使用 AOP 实现更复杂的东西。这是一篇关于更多选项的博客文章。