具有默认值的Java JAX-RS自定义参数

时间:2011-04-12 21:20:20

标签: java jax-ws resteasy

假设我有这个(这只是一个例子):

@GET
@Path(value="address")
@Produces("application/json")
public Response getAddress(@QueryParam("user") User user){
  ...
}

和用户

class User{
...
 public static User valueOf(String user){
   if(user == null) return DEFAULT_USER;
   return dao.findById(user);
 }    
}

如果我 / api / address?user = amir 一切正常,但想法是如果我没有为用户提供值,那么我想要使用DEFAULT_USER。但这实际上并没有调用valueOf。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:6)

JAX-RS具有@ DefaultValue注释:

@QueryParam("user") @DefaultValue("__DEFAULT")



class User{
...
 public static User valueOf(String user){
   if(user == null||"__DEFAULT".equals(user) return DEFAULT_USER;
   return dao.findById(user);
 }    
}