@POST
  @Path("{token}")
  @Produces(MediaType.APPLICATION_JSON)
  @Consumes(MediaType.APPLICATION_JSON)
  public String gerarToken(@PathParam("token") Long id, String json) {
    String retorno = BLANK_RETURN;
    Token token = null;
    try {
      Usuario usuario = usuarioSevice.findByCodigo(id);
      if (usuario != null) {
        token = tokenGeneratorService.findByUsuarioId(id);

        Gson gson = new GsonBuilder().setExclusionStrategies(new TokenExclusionStrategy()).create();

        if (token != null) {
          retorno = gson.toJson(token);
        } else {
          JSONObject jsonObject = new JSONObject(json);
          configurarUsuario(usuario, jsonObject);

          token = tokenGeneratorService.create(usuario);
          retorno = gson.toJson(token);
        }
      } else {
        // TODO Saber qual a mensagem enviar para o cliente
      }
    } catch (ServiceException e) {
      // TODO Saber qual mensagem passar para o usuário
    } catch (Exception e) {
      // TODO Saber qual mensagem passar para o usuário
    }
    return retorno;
  }
  @DELETE
  @Path("/{logout}/{email}")
  public void removerToken(
      @PathParam("logout") String logout, @PathParam("email") String email, String json) {
    try {
      Usuario usuario = usuarioSevice.findByEmail(email);
      if (usuario != null) {
        JSONObject jsonObject = new JSONObject(json);

        if (logout.equalsIgnoreCase("logout")) {
          Token token = new Token();
          configurarToken(token, usuario, jsonObject);

          Token tokenPesquisado =
              tokenGeneratorService.findByApiKeyAndUsuarioId(token.getApiKey(), usuario.getId());
          if (tokenPesquisado != null) {
            tokenGeneratorService.delete(tokenPesquisado);
          }
        } else if (logout.equalsIgnoreCase("logoutAll")) {
          tokenGeneratorService.deleteAllByUsuario(usuario);
        }
      } else {
        // TODO Saber qual mensagem passar para o usuário
      }
    } catch (ServiceException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
 private Response configurarResponse(Usuario usuario) throws ServiceException {
   Token token = tokenGeneratorService.create(usuario);
   String retorno = BLANK_RETURN;
   Response response = null;
   if (token != null) {
     Gson gson = new GsonBuilder().setExclusionStrategies(new TokenExclusionStrategy()).create();
     retorno = gson.toJson(token);
     response = CallBackUtil.setResponseOK(retorno, MediaType.APPLICATION_JSON);
   } else {
     response =
         CallBackUtil.setResponseError(
             Status.INTERNAL_SERVER_ERROR.getStatusCode(),
             MessageUtil.getMessageFromBundle("exception.token_nao_encontrado"));
   }
   return response;
 }