Пользовательский параметр Java JAX-RS со значением по умолчанию - PullRequest
3 голосов
/ 13 апреля 2011

Допустим, у меня есть это (это всего лишь пример):

@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?amir все работает, но идея в том, что если я не предоставлю значение для пользователя, я хочу использовать DEFAULT_USER.Но это на самом деле не вызывает valueOf.Есть ли способ это исправить?

1 Ответ

6 голосов
/ 13 апреля 2011

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);
 }    
}
...