分享两个常用的接口解析方法。
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());
}