使用java jersey,我在我的方法处理程序中有以下@ QueryParam:
@Path("/hello")
handleTestRequest(@QueryParam String name, @QueryParam Integer age)
Run Code Online (Sandbox Code Playgroud)
我知道如果我这样做: http:// myaddress/hello?name = something
它会进入那种方法....
我想这样做,以便我可以打电话:
它也将采用相同的方法.有什么办法可以标记一个"可选的"PathParam吗?它也适用于@FormParam吗?或者我是否需要使用不同的方法签名创建单独的方法?
rge*_*man 10
您应该能够@DefaultValue在age参数中添加注释,以便在age未提供时,将使用默认值.
@Path("/hello")
handleTestRequest(
@QueryParam("name") String name,
@DefaultValue("-1") @QueryParam("age") Integer age)
Run Code Online (Sandbox Code Playgroud)
根据Javadocs的@DefaultValue说法,它应该适用于所有*Param注释.
定义使用以下注释之一绑定的请求元数据的默认值:PathParam,QueryParam,MatrixParam,CookieParam,FormParam或HeaderParam.如果请求中不存在相应的元数据,则使用默认值.