【问题标题】:Importing API into my java program将 API 导入我的 java 程序
【发布时间】:2017-06-21 11:21:00
【问题描述】:

我是 WebAPI 的新手,我被要求借助某个网站的 API 获取特定位置的经度和纬度。 (网站已删除),我也获得了一个资产密钥。 我想我的问题是,如何将这个 API 导入到我的 Java 程序中?

【问题讨论】:

标签: java api asp.net-web-api


【解决方案1】:

这是使用提供的演示密钥从该页面查询资产的简单示例:

查询示例

https://api.nasa.gov/planetary/earth/assets?lon=100.75&lat=1.5&begin=2014-02-01&api_key=DEMO_KEY

[这是在 Java 6 中,修改以适合您的 Java 版本]

import java.io.BufferedReader;
import java.lang.StringBuilder;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.net.URL;
import java.net.URLConnection;
import java.io.IOException;

public class NasaRestAPIExample {

    public static void main(String[] args) throws IOException {
        String query = "lon=100.75&lat=1.5&begin=2014-02-01&api_key=DEMO_KEY";

        URLConnection connection = new URL("https://api.nasa.gov/planetary/earth/assets?" + query).openConnection();
        connection.connect();

        BufferedReader r  = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName("UTF-8")));

        StringBuilder sb = new StringBuilder();
        String line;
        while ((line = r.readLine()) != null) {
            sb.append(line);
        }
        System.out.println(sb.toString());
    }
}

输出:

{"count": 61, "results": [{"date": "2014-02-04T03:30:01", "id": "LC8_L1T_TOA/LC81270592014035LGN00"}, ...

【讨论】:

  • 这不是解决方案。它对单个查询进行硬编码并获得单个结果。存在应首选的完善且强大的 REST Java 库。
  • 我只是提供了一个 OP 要求的示例。如果它不被视为解决方案,为什么 OP 接受它作为答案?
  • 公平点。不过,我认为 OP 不知道他们想要什么。
  • 如果这个答案没有达到他们的目的,他们不应该接受它。如果你能提供一个真正的解决方案,如果可能的话,我很乐意删除我的答案。
  • 我可以轻松地编写一个真正的 解决方案,但我不会。我不会在微不足道的问题上做别人的工作/家庭作业,但帮助/指向正确的方向没有问题。你或我将来可能要和这个人一起工作,所以最好他们自己想办法。如果你被冒犯了,我很抱歉;那不是我的意图。
猜你喜欢
  • 2012-09-10
  • 1970-01-01
  • 2011-09-09
  • 2011-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多