java如何调用第三方接口

java如何调用第三方接口最近在做一个项目,因一些机制问题,需要我用java代码调用第三方接口。因其接口使用的是@RequestBody注入访问对象的,@RequestBody接受收的是一个json格式的字符串,一定是一个字符串。类似于:{“pageNumber”:1,“pageSize”:10}这种json字符串访问方式。要想在java后端代码中访问第三方接口,首先引入maven包。<dependency><groupId>org.codehaus.jackson

大家好,又见面了,我是你们的朋友全栈君。

最近在做一个项目,因一些机制问题,需要我用java代码调用第三方接口。因其接口使用的是@RequestBody注入访问对象的,@RequestBody接受收的是一个json格式的字符串,一定是一个字符串。类似于:

{

“pageNumber”:1,
“pageSize”:10
}

这种json字符串访问方式。

要想在java后端代码中访问第三方接口,首先引入maven包。

<dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.9</version>
</dependency>

POST请求封装的工具方法:

    public static String HttpURLConnection(String url, JSONObject data) { 
   
        StringBuffer sb = new StringBuffer();
        try { 
   
            URL realUrl = new URL(url);
            //将realUrl以open方法返回的urlConnection 连接强转为HttpURLConnection连接 
            HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();// 此时cnnection只是为一个连接对象,待连接中
            //设置连接输出流为true,默认false
            connection.setDoOutput(true);
            //设置连接输入流为true
            connection.setDoInput(true);
            //设置请求方式为post
            connection.setRequestMethod("POST");
            //post请求缓存设为false
            connection.setUseCaches(false);
            //设置该HttpURLConnection实例是否自动执行重定向
            connection.setInstanceFollowRedirects(true);
            //设置请求头里面的各个属性
            connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
            //建立连接 
            connection.connect();
            //创建输入输出流,用于往连接里面输出携带的参数
            DataOutputStream dataout = new DataOutputStream(connection.getOutputStream());
            String query = data.toString();
            //将参数输出到连接
            dataout.write(query.getBytes("UTF-8"));
            // 输出完成后刷新流
            dataout.flush();
            //关闭流
            dataout.close(); 
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
            String lines;
            while ((lines = reader.readLine()) != null) { 
   
                lines = new String(lines.getBytes(), "utf-8");
                sb.append(lines);
            }
            reader.close();
            connection.disconnect();
        } catch (Exception e) { 
   
            e.printStackTrace();
        }
        return sb.toString();
    }

在服务层中调用方法例子:

//输入的Json参数
 JSONObject jsonObject = new JSONObject();
//添加访问参数 
     jsonObject.append("pageNumber", 1);
     jsonObject.append("pageSize",10);
//输入第三方url
 String packStr=HttpURLConnection("http://**:8080/login/info", jsonObject);

通过以上操作即可返回访问的接口参数,通过类型转换即可使用。
此方法也是我在多次验证保证完全可行的一种方法,如果直接用params参数访问url我会在第二篇博客里面进行解答。刚进入社区,希望各位大神们多多帮助,共同进步。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139931.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月28日 下午11:36
下一篇 2022年5月28日 下午11:36


相关推荐

  • android attributeset,AttributeSet 的值用法

    android attributeset,AttributeSet 的值用法一 首先要在 res values 目录下建立一个 attrs xml 名字可以自己定义 的文件 并在此文件中增加对控件的属性的定义 其 xml 文件如下所示 二 接下来实现自定义 View 的类 其中下面的构造方法是重点 在代码中获取自定义属性 其代码如下 publicclassC publicCircle Conte

    2026年3月20日
    1
  • iOS 7 UI 过渡指南 – 開始之前(iOS 7 UI Transition Guide – Before You Start)[通俗易懂]

    iOS 7 UI 过渡指南 – 開始之前(iOS 7 UI Transition Guide – Before You Start)

    2022年2月7日
    46
  • 清理winsxs的小工具

    清理winsxs的小工具因为磁盘空间不够了 所以想起来清理一下系统垃圾文件 主要目标就是臭名昭著的 winsxs 目录 这个 winsxs 就是微软为了解决 dllhell 问题 结果是好比在 windows 系统里安置了一个毫无节制

    2026年3月18日
    17
  • 【算法】素数(质数)判断方法「建议收藏」

    【算法】素数(质数)判断方法「建议收藏」素数(质数)的判断在算法问题中经常遇到,这里小结几种常用的判断方法。首先,我们来看一下素数(质数)的定义:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。我们可以从它的定义得到判断素数的第一个方法:从2到n-1,判断是否存在能被n整除的数,既(n%i==0,2<=i<=n-1),如果有就不是素数,否则为素数。(这里为了比

    2022年6月18日
    33
  • html自动写对联,HTML 实现网站对联广告位

    html自动写对联,HTML 实现网站对联广告位分享一个对联广告位的代码 网站通用 留着存放 哪天说不定用到了 html 代码 放到固定的位置 css 样式代码 index wall left width 350px height 528px position absolute top 120px margin left 366px background url https eimg smzdm com 201912 23 5e00

    2025年12月6日
    8
  • 企业网站seo维护_seo怎么才能优化好

    企业网站seo维护_seo怎么才能优化好  一般说来,URL中包含关键词对网站优化确实会有所帮助。不过从品牌效果考虑,用品牌名称做域名应该是比较合适的。不要走急功近利误区。独立域名更能获得搜索引擎的认可。调查显示:大多数搜索引擎排名时对那些不具备独立域名的网站赋予较小的“重要性”。      网站优化的目的是用合理的手段(不是作弊),对网站源代码进行优化,使之对搜索引擎更友好,更符合排名规则一个站点的排名70%是靠网站优化

    2025年12月16日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号