code: @RequestMapping(value = "/getZooTree", method = RequestMethod.GET)
      @ResponseBody
      public JsonObject<?> getZooTree(@RequestParam(value = "env", required = true) String env) {
          LOG.info("Get" + env + " zoo tree");
          JsonObject<?> result = JsonObject.create();
          try {
              ZooNode zooNode = null;
              if (ZooEnv.ONLINE.getValue().equalsIgnoreCase(env)) {
                  User sessionVisitor = (User) ThreadContext.getSessionVisitor();
                  if (sessionVisitor != null
                          && !sessionVisitor.getAuths().contains(
                          UserWebConstant.UserAuth.ZOO_ONLINE.getValue())) {
                      return sysError(GlobalResponseStatusMsg.AUTH_DENIED.getMessage().getMessage());
                  }
                  zooNode = onlineZooServiceImpl.getNodeRecrusively();
              } else {
                  zooNode = offlineZooServiceImpl.getNodeRecrusively();
              }
              if (CollectionUtils.isEmpty(zooNode.getChildren())) {
                  return sysError(GlobalResponseStatusMsg.GET_ZOO_TREE_FAILED.getMessage("找不到任何节点")
                          .getMessage());
              }
              result.addData("zooNodes", new ZooNode[] {zooNode});
          } catch (Exception e) {
              LOG.error("Query zoo tree failed!", e);
              return sysError();
          }
          return result;
      }
docs: 获取zookeeper服务节点树
  
  @param env 环境
  
  @return JsonObject