- 获取高某提供的地址数据,返回的数据可以是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; }
- 经过处理之后的数据