spring - 如何使用来自 http://developer.nytimes.com 的 Spring Boot 获取当前最热门的故事
解决方案
为了从 Java 发出 HTTP 请求,您应该使用HttpURLConnection
. NYT 头条新闻的 api 非常简单,您应该向GET
以下 URL 发送请求String url = https://api.nytimes.com/svc/topstories/v2/home.json?api-key=" + apiKey
,其中 apiKey 必须从 NYT 请求。
以下方法执行请求并将响应返回为String
:
public String getTopStories(String apiKey) throws Exception {
URL url = new URL("https://api.nytimes.com/svc/topstories/v2/home.json?api-key=" + apiKey);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int statusCode = connection.getResponseCode();
if (statusCode != HttpStatus.OK.value()) {
throw new Exception("NYT responded with:" + statusCode);
}
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line+"\n");
}
bufferedReader.close();
return stringBuilder.toString();
}
推荐阅读
- python - 作为pypi包安装时browsermob-proxy的路径应该是什么
- imagemagick - ImageMagick将灰度tif转换为灰度png不起作用
- scala - 将带有行的 WrappedArray 列转换为带有行的 Dataframe
- migration - 在 GraphQL 中触发任务的惯用方式
- django - 如何在 ValidationError 中构造条件
- html - 我无法从我的 WP 网站上的表格中删除边框
- c# - Html.Action 或 Html.Partial 不适用于属性路由
- python - 为什么此图路线重复
- javascript - 如何添加多种过滤方式?
- reactjs - React - Redux - 只显示一些数据