java如何调用第三方接口
最近在做一个项目,因一些机制问题,需要我用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,默认falseconnection.setDoOutput(true);//设置连接输入流为trueconnection.setDoInput(true);//设置请求方式为postconnection.setRequestMethod("POST");//post请求缓存设为falseconnection.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);
//输入第三方urlString packStr=HttpURLConnection("http://**:8080/login/info", jsonObject);
通过以上操作即可返回访问的接口参数,通过类型转换即可使用。
此方法也是我在多次验证保证完全可行的一种方法,如果直接用params参数访问url我会在第二篇博客里面进行解答。刚进入社区,希望各位大神们多多帮助,共同进步。
java如何调用第三方接口相关推荐
- java异步调用第三方接口_Java调用第三方系统接口获取数据
1,调取接口代码 RestTemplate restTemplate=new RestTemplate();HttpHeaders headers=new HttpHeaders();MultiVal ...
- http方式调用第三方接口
java如何调用对方http接口(II) - 流年煮雪 - 博客园 纯Java api HttpURLConnection Java调用外部接口_CJD的博客-CSDN博客_调用外部接口 纯Java ...
- Java 调用第三方接口,实战来了!
在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口. 1.准备工作: 在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的restTem ...
- Java调用第三方接口示范
在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口. 使用流程 [1]准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的re ...
- Java 调用第三方接口方法
Java 调用第三方接口方法 一. 通过JDK网络类Java.net.HttpURLConnection 1.java.net包下的原生java api提供的http请求 使用步骤: 1.通过统一资源 ...
- java调用第三方接口示例
引言:在我们开发的过程中,常常会听到或者接触到第三方接口,那么这个第三方接口到底是什么呢? 简单来说就是一个远程接口,不是在你本机上的,你需要通过远程url去访问调用该接口.许多项目中有明确的要求需要 ...
- 前端调用第三方接口跨域问题(淘宝)
前端调用第三方接口跨域问题 百度了好久,大部分的文章都前篇一律的说jsonp跨域,要不就是说配置CROS.看到那种文章出处应该都是一家,心好累.首先来说淘宝目前的接口是不支持jsonp请求的,配置CR ...
- Java程序调用MATLAB接口
Java程序调用MATLAB接口 文章目录 Java程序调用MATLAB接口 一.注意事项 二.环境安装 三.MATLAB如何生成JAR包 四.MATLAB生成的JAR包如何引入到Java程序中 五. ...
- 使用令牌桶算法解决调用第三方接口限流问题
我们在调用第三方接口时常常会碰到接口限流问题,为了解决这一问题,大家想出了许多方法.我这里介绍一下我的方法,第三方接口限流一般是基于令牌桶算法的,那么我们可以以彼之道还治彼身,使用令牌桶算法实现我方调 ...
最新文章
- 何李石:七牛直播云技术详解
- c++有哪四个类型转换相关的关键字
- 让我们努力从“不可救药的乐观主义者”--华尔街知名投资人约翰。多尔那里学点东西(永远放弃尝试改变这个世界)...
- 信息系统项目管理知识--项目成本管理
- 最新款服务器主板,服务器主板
- linux7切断防火墙,Linux7关闭防火墙
- ApacheCN 数据科学译文集 2020.8
- 最好用的Unity代码编辑器Rider如何免费申请?
- 安装Ubuntu 12.04
- UCloud基于Linux内核新特性的下一代外网网关设计及相关开源工作
- 网络字节序与主机字节序 高低位
- html能转换成mp3,网易云音乐ncm格式怎么转换成mp3格式
- SAP BW报表使用操作手册——基础操作
- 计算机如何切换显卡,怎么设置独显-Nvidia显卡双显卡切换就这么简单
- 微信小程序——点赞和取消点赞功能的实现
- (精华)2020年10月7日 高并发高可用 Redis实现异步架构
- CSS——高度塌陷以及解决方法
- 脱离标准流(1)浮动
- Spring——DAO层、Spring JDBC、Spring事务控制
- 【C语言】之实现多达50位数相乘的运算
热门文章
- 【考研经验】2019双非零基础跨考暨南大学计算机技术专硕
- Qt QThread安全退出
- 某石油化工数字化交付项目
- BF算法对于屏幕监控软件的运用优势
- 关于LaunchScreen.storyboard启动设置(包含不同设备适配)
- iOS 客户端接口报错信息处理(未能完成该操作。软件导致连接中止 或者是 Software caused connection abort Code 53)
- 如何快速做好SEO优化?怎样综合查询seo?
- 网络安全工程师应该具备哪些职业技能?
- 我的未来该何去何从?双非院校计科院学嵌入式的大四小菜鸡的自我反思...
- JSP开发环境(jdk配置、Tomcat配置、MySQL安装、eclipse安装),附安装包