分享两个常用的接口解析方法。

1、使用URLConnection

public static String getResult(String url){ String result=””;//访问返回结果 BufferedReader read=null;//读取访问结果 try { //创建url URL realurl=new URL(url); URLConnection connection=realurl.openConnection(); connection.setRequestProperty(“accept”, “*/*”); connection.setRequestProperty(“connection”, “Keep-Alive”); //火狐? connection.setRequestProperty(“user-agent”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)”); connection.connect(); Map<String, List<String>> map = connection.getHeaderFields(); read = new BufferedReader(new InputStreamReader( connection.getInputStream(),”UTF-8″)); String line;//循环读取 while ((line = read.readLine()) != null) { result += line; } } catch (IOException e) { e.printStackTrace(); }finally{ if(read!=null){//关闭流 try { read.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; }

2、使用RestTemplate 解析(功能强大)

public static void main(String[] args) { RestTemplate template = new RestTemplate(); String url = “http://localhost:18899/jeecg-boot/policeQrCode/policeQrCode/list?policePhone={policePhone}”; // 封装参数,这里是HashMap Map<String, Object> paramMap = new HashMap<String, Object>(); paramMap.put(“policePhone”, “12345678912”); //2、使用exchange请求接口 String token = “eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MDY0NTc4NDYsInVzZXJuYW1lIjoiYWRtaW4ifQ.E1zjpFB1qiXCFh2R6UwEtNL5ibNoW-DTcHHczleY__A”; HttpHeaders headers = new HttpHeaders(); headers.add(“X-Access-Token”, token); HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String, Object>>(null,headers); ResponseEntity<String> response2 = template.exchange(url, HttpMethod.GET, httpEntity, String.class,paramMap); System.out.println(“result====================” + response2.getBody()); }