您的位置:首页 > 编程语言 > Java开发

java后台创建url连接,获取接口数据

2018-01-05 16:38 465 查看

简介

  1. 在实践中,当项目不断进行新功能开发的时候,我们就不可能将所有的方法、功能点全部都写在同一个项目里面,这样也不符合脱耦的趋势;

  2. 那么,在项目中,我们既要增加新的功能点,又要最大限度地降低耦合度,我们就要不断地对接口进行深入发掘;

  3. 像阿里的分布式服务框架dubbo,也是一种基于接口开发的服务框架,它不仅能松耦合,而且功能点都是通过不断增加接口来不断增加;

  4. 本篇博客不讲述接口如何开发,而是简单地介绍,如何通过java创建url连接,获取接口返回来的json数据;

项目实践

/**
* 获取接口数据,返回json格式字符串,方法1
* @param url 接口路径
* @param params 传递参数,自定义
* @param key 传递参数标识,自定义
* @return
*/
public String getData1(String url,String params,String key){

String rs = null;
CloseableHttpClient httpClient = HttpClient.createDefault();
try{
//拼接参数,转义参数
String connUrl = url+"?params="+URLEncoder.encode(params,HTTP.UTF-8)+"&key="+key;

//创建连接
HttpGet get = new HttpGet(connUrl);

//获取以及解析数据
CloseableHttpResponse resp = httpClient.execute(get);
rs = EntityUtils.toString(resp.getEntity(),HTTP.UTF-8);

}catch(IOException e){
System.out.println("出错了")
}
return rs;

}

/**
* 获取接口数据,返回json格式字符串,方法2
* @param url 接口路径
* @param params 传递参数,自定义
* @param key 传递参数标识,自
4000
定义
* @return
*/
public String getData2(String url,String params,String key){

HttpURLConnection conn = null;
BufferedReader reader = null;
String rs = null;
try {
//拼接参数,转义参数
String connUrl = url+"?params="+URLEncoder.encode(params,HTTP.UTF-8)+"&key="+key;

//创建连接
URL url = new URL(connUrl);
conn = (HttpURLConnection) url.openConnection();
conn.setUseCaches(false);
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
conn.setInstanceFollowRedirects(false);
conn.connect();

//获取并解析数据
InputStream is = conn.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
StringBuffer sb = new StringBuffer();
String strRead = null;
while ((strRead = reader.readLine()) != null) {
sb.append(strRead);
}
rs = sb.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
reader.close();
}
if (conn != null) {
conn.disconnect();
}
}
return rs;
}


总结

  1. 上面提供了两种方法来创建连接,获取接口数据,可自选比较合适的方法;

  2. 返回的rs都是json格式的字符串,可直接使用JSONObject object = JSONObject.fromObject(rs)来转换成json对象,然后进行多层次的解析;

  3. 实践是检验认识真理性的唯一标准,试一试就知道好不好用了;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐