2015-12-16 7 views
0

Я следующий код в resources:Handling не найден в Ebean и Dropwizard

@GET 
@Timed 
@Path("/{username}") 
public Object findUserByUsername(@PathParam("username") String username){ 
    User user = Ebean.find(User.class) 
      .setDisableLazyLoading(true) 
      .where() 
      .eq("username", username) 
      .findUnique(); 
    if(user != null) { 
     return Response 
       .status(Response.Status.OK) 
       .entity(Ebean.json().toJson(user)) 
       .build(); 
    }else{ 
     return Response 
       .status(Response.Status.NOT_FOUND) 
       .build(); 
    } 
} 

Я хочу, чтобы иметь возможность обрабатывать ошибки, когда это происходит на Ebean, как в данном случае, я хочу построить пользовательский ответ, если нет User с данным username. Но когда Ebean.find() не найти соответствующие данные, он уже возвращает страницу с ошибкой по умолчанию. Как я могу настроить это поведение?

ответ

0

Чтобы предотвратить страницу по умолчанию, чтобы показать, просто должны обеспечить .entity() к Response с кодом ошибки и заменит стандартную страницу с моделью JSON, которая находится внутри .entity().

 Смежные вопросы

  • Нет связанных вопросов^_^