Java 忽略可选的@Query参数

Java 忽略可选的@Query参数,java,web-services,restful-authentication,Java,Web Services,Restful Authentication,如果未声明相应的值,是否有可能忽略一些可选的@Query动态参数 @Path("/users") public class Services { @GET @Path("/get") public Response getUsers( @QueryParam("from") int from, @QueryParam("to") int to, @QueryParam("age") int age, @QueryParam("name") String name

如果未声明相应的值,是否有可能忽略一些可选的
@Query
动态参数

@Path("/users")
public class Services {

@GET
@Path("/get")
public Response getUsers(
    @QueryParam("from") int from,
    @QueryParam("to") int to,
    @QueryParam("age") int age,
    @QueryParam("name") String name
    @QueryParam("username") String username) 

在JAX-RS中,参数不是强制性的,如果您不向参数发送值,默认值将是
null
,您还可以使用
@DefaultValue
注释来提供默认值

Use还可以使用spring框架
@RequestParam
,您可以指定
required=false
,因此这是可选的

您可以使用@DefaultValue,因此如果参数未填充,您将获得默认值


我不想在下一个查询中包含相应的@Query参数。就好像不存在参数的特定值,并且没有默认参数一样。。有可能吗?如果我理解正确,您希望在不使用一些
@query
参数的情况下执行
GET
调用(即使在控制器方法中您拥有这些参数),对吗?是的,如果是这种情况,它将工作,并且如果我在查询所有查询参数后向所有查询参数发送值,则您不包括在查询中的参数将默认设置为
null
。。现在,如果其中一些由于我没有发送值而保持为null,那么我希望将它们从下一个查询中排除,而不是给它们一个默认值。与null参数not existsya一样,它也可以工作,请尝试不带参数的方法并执行
sysout
inside方法