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方法