- 获取高某提供的地址数据,返回的数据可以是json,xml形式
- 高某接口:https://lbs.amap.com/api/webservice/guide/api/district
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
//请求高德提供的接口
StringBuilder url = new StringBuilder("https://restapi.amap.com/v3/config/district?");
url.append("key=");//appid设置
url.append("高德开发申请的key值");
url.append("&subdistrict=");//secret设置
url.append(4);//获取四级深度的地址
try {
HttpClient client = HttpClientBuilder.create().build();//构建一个Client
HttpGet get = new HttpGet(url.toString()); //构建一个GET请求
HttpResponse response = client.execute(get);//提交GET请求
HttpEntity he = response.getEntity();//拿到返回的HttpResponse的"实体"
JSONObject content = JSONUtil.parseObj(EntityUtils.toString(he,"UTF-8"));
Object districts = content.get("districts");
List<AreaVo> toList = JSONUtil.toList(JSONUtil.parseArray(districts), AreaVo.class);
} catch (Exception e) {
e.printStackTrace();
}
}
- AreaVo封装类,这里只拿名称就可以了,其他的看需求拿,还有邮政编码等
@Data
public class AreaVo {
private String name;
private List<AreaVo> districts;
}