3

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

@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。有没有办法来解决这个问题?

4

1 回答 1

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);
 }    
}
于 2011-04-12T21:27:51.433 回答