java后台创建url连接,获取接口数据
发布日期:2021-08-22 06:43:13 浏览次数:21 分类:技术文章

本文共 2567 字,大约阅读时间需要 8 分钟。

版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/78982905

简介

  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 传递参数标识,自定义 * @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. 实践是检验认识真理性的唯一标准,试一试就知道好不好用了;

转载地址:https://blog.csdn.net/weixin_33738555/article/details/89592418 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:解决popup不随着window一起移动的问题
下一篇:Android开发之项目经验分享

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月17日 01时22分09秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章