访问所有Hacker News文章是否必须使用Firebase?
问题1:是否需要配置Firebase才能拉取所有HN文章?
不需要。
Hacker News官方API本身部署在Firebase实时数据库服务上,你当前使用的https://hacker-news.firebaseio.com/v0/前缀的接口就是官方公开的REST访问入口,只要按照规则发送标准HTTP请求即可拿到所有公开数据,不需要引入Firebase SDK、注册Firebase项目、做任何Firebase相关配置。你用Java自带的HTTP调用能力完全可以覆盖所有拉取需求,你已经能在Postman拿到单篇数据也验证了这一点。
你现有代码只需要调整一处冗余即可正常运行:删除代码中单独写的print = pretty行,该参数已经拼接在请求URL中,单独声明会导致编译错误,修正后的可运行代码如下:
URL getUrl = new URL("https://hacker-news.firebaseio.com/v0/item/29042728.json?print=pretty"); HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection(); // 若连接成功(返回200 OK)则缓冲数据 BufferedReader art = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuffer jsonResponseData = new StringBuffer(); String readLine = null; // 逐行追加响应数据 while ((readLine = art.readLine()) != null) { jsonResponseData.append(readLine); } art.close();
你可以用同样的方式调用所有HN公开接口,比如拉取Top文章ID列表、最新文章ID列表、用户信息等,之后批量拉取对应ID的文章内容即可拿到全量数据。
问题2:Firebase有没有其他必需用途?
没有任何必需的额外用途。
只有当你需要实现实时数据监听(比如新文章发布自动收到通知、文章点赞/评论数更新实时同步)这类场景时,使用Firebase官方SDK会比你自己轮询接口更高效,但这属于可选优化方案,不是必须使用的能力,所有常规数据拉取场景用你现有的HTTP调用方式就足够。
内容的提问来源于stack exchange,提问作者Emeka A
相关产品推荐
相关产品推荐

