apollo-openapi/src/main/java/com/ctrip/framework/apollo/openapi/client/service/AppOpenApiService.java/AppOpenApiService/getAppsInfo
class AppOpenApiService:  @Override
  public List<OpenAppDTO> getAppsInfo(List<String> appIds) {
    OpenApiPathBuilder pathBuilder = OpenApiPathBuilder.newBuilder()
        .customResource("apps");

    if (appIds != null && !appIds.isEmpty()) {
      String param = Joiner.on(",").join(appIds);
      pathBuilder.addParam("appIds", param);
    }

    try (CloseableHttpResponse response = get(pathBuilder)) {
      return gson.fromJson(EntityUtils.toString(response.getEntity()), OPEN_APP_DTO_LIST_TYPE);
    } catch (Throwable ex) {
      throw new RuntimeException(String.format("Load app information for appIds: %s failed", appIds), ex);
    }
  }