一、获取站点列表数据
参考
1.请求示例
Java实现
package com.example.utils;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import java.util.HashMap;
import java.util.Map;
/**
* @author King
* @description: 站点列表数据接口
* @create 2023-03-21-12:01-
*/
public class Stations {
public static void main(String[] args) {
String host = "https://hydro.market.alicloudapi.com";
String path = "/api/water_rain/stations";
String method = "GET";
String appcode = "你自己的AppCode";
Map<String, String> headers = new HashMap<String, String>();
//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
headers.put("Authorization", "APPCODE " + appcode);
Map<String, String> querys = new HashMap<String, String>();
//指定想要查询的省份
querys.put("province", "xx省");
try {
/**
* 重要提示如下:
* HttpUtils请从
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java
* 下载
*
* 相应的依赖请参照
* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml
*/
HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
System.out.println(response.toString());
//获取response的body
System.out.println(EntityUtils.toString(response.getEntity()));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Tips:
-
appcode的获取方式:
-
这里把阿里云请求示例中的
System.out.println(EntityUtils.toString(response.getEntity()));
注释打开,否则返回的响应中不包含站点数据。
2.响应示例
正常执行之后返回的数据样式:
{
"data": [
{
"流域": "长江",
"测站类型": "河道站",
"纬度": 30.25,
"河名": "长江",
"经度": 115.05,
"地址": "鄂-黄石市",
"水系": "长江中游干流下段",
"行政区": "湖北省 黄石市",
"站名": "黄石港"
}
],
"errCode": 0,
"requestId": "7237c65316264300934626749e46a1",
"errMsg": "success",
"apiLog": null
}
3.接口所需的依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>9.3.7.v20160115</ve