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. 实践是检验认识真理性的唯一标准,试一试就知道好不好用了;
相关文章推荐
- java创建HttpURLConnection连接并获取返回值
- springmvc创建restful接口通过HttpURLConnection创建连接传递数据
- (017)java后台开发之客户端通过HTTP获取接口Json数据
- java后台通过url获取json数据
- springmvc创建restful接口通过HttpURLConnection创建连接传递数据
- java通过url获取页面数据 java解析xml 基金净值接口使用方法
- (安全跨域)java.net.url实现后台发出http请求并输出获取到的数据
- java后台 通过HTTP接口获取json数据
- Zookeeper客户端基本操作java实现——创建连接、创建节点、添加修改节点内容、获取子节点、获取节点数据、删除节点
- java后台访问外网接口获取数据并封装成json
- java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据
- java后台通过url获取返回数据
- 通过JAVA从高德地图URL连接获取json数据 解析并存入数据库的程序举例
- Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
- java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据
- java httpURL连接远程服务器并返回数据(httpurlconnection)
- java后台接口工程连接不到数据库问题
- extjs请求java后台,获取返回数据的方式
- Java后台去除前台传递数据中的页面标签(HTML,Javascript,Style),获取文本内容!
- JAVA连接Mysql数据库,获取数据