通过SpringBoot-RestTemplate

delete() 在特定的URL上对资源执行HTTP DELETE操作

exchange() 在URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从响应体中映射得到的

execute() 在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象

getForEntity() 发送一个HTTP GET请求,返回的ResponseEntity包含了响应体所映射成的对象

getForObject() 发送一个HTTP GET请求,返回的请求体将映射为一个对象

postForEntity() POST 数据到一个URL,返回包含一个对象的ResponseEntity,这个对象是从响应体中映射得到的

postForObject() POST 数据到一个URL,返回根据响应体匹配形成的对象

headForHeaders() 发送HTTP HEAD请求,返回包含特定资源URL的HTTP头

optionsForAllow() 发送HTTP OPTIONS请求,返回对特定URL的Allow头信息

postForLocation() POST 数据到一个URL,返回新创建资源的URL

put() PUT 资源到特定的URL

导入springboot的web包

org.springframework.boot

spring-boot-starter-parent

2.0.4.RELEASE

org.apache.httpcomponents

httpclient

4.5.2

org.springframework.boot

spring-boot-configuration-processor

true

org.springframework.boot

spring-boot-starter-aop

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-tomcat

org.springframework.boot

spring-boot-starter-jetty

org.springframework.boot

spring-boot-starter-test

test

在启动类同包下创建RestTemplateConfig.java类

importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.http.client.ClientHttpRequestFactory;importorg.springframework.http.client.SimpleClientHttpRequestFactory;importorg.springframework.web.client.RestTemplate;

@Configurationpublic classRestTemplateConfig {

@BeanpublicRestTemplate restTemplate(ClientHttpRequestFactory factory){return newRestTemplate(factory);

}

@BeanpublicClientHttpRequestFactory simpleClientHttpRequestFactory(){

SimpleClientHttpRequestFactory factory= newSimpleClientHttpRequestFactory();

factory.setConnectTimeout(15000);

factory.setReadTimeout(5000);returnfactory;

}

}

然后在Service类(RestTemplateToInterface )中注入使用

importcom.alibaba.fastjson.JSONObject;importcom.swordfall.model.User;importorg.springframework.beans.factory.annotation.Autowired;import org.springframework.http.*;importorg.springframework.stereotype.Service;importorg.springframework.web.client.RestTemplate;

@Servicepublic classRestTemplateToInterface {

@AutowiredprivateRestTemplate restTemplate;/*** 以get方式请求第三方http接口 getForEntity

*@paramurl

*@return

*/

publicUser doGetWith1(String url){

ResponseEntity responseEntity = restTemplate.getForEntity(url, User.class);

User user=responseEntity.getBody();returnuser;

}/*** 以get方式请求第三方http接口 getForObject

* 返回值返回的是响应体,省去了我们再去getBody()

*@paramurl

*@return

*/

publicUser doGetWith2(String url){

User user= restTemplate.getForObject(url, User.class);returnuser;

}/*** 以post方式请求第三方http接口 postForEntity

*@paramurl

*@return

*/

publicString doPostWith1(String url){

User user= new User("小白", 20);

ResponseEntity responseEntity = restTemplate.postForEntity(url, user, String.class);

String body=responseEntity.getBody();returnbody;

}/*** 以post方式请求第三方http接口 postForEntity

*@paramurl

*@return

*/

publicString doPostWith2(String url){

User user= new User("小白", 20);

String body= restTemplate.postForObject(url, user, String.class);returnbody;

}/*** exchange

*@return

*/

publicString doExchange(String url, Integer age, String name){//header参数

HttpHeaders headers = newHttpHeaders();

String token= "asdfaf2322";

headers.add("authorization", token);

headers.setContentType(MediaType.APPLICATION_JSON);//放入body中的json参数

JSONObject obj = newJSONObject();

obj.put("age", age);

obj.put("name", name);//组装

HttpEntity request = new HttpEntity<>(obj, headers);

ResponseEntity responseEntity = restTemplate.exchange(url, HttpMethod.POST, request, String.class);

String body=responseEntity.getBody();returnbody;

}

}

java访问网络接口_Java网络访问 java调用http java调用其他接口相关推荐

  1. java访问控制符_java中访问控制符的作用

    展开全部 java中访问控制符的作用是说明被声明的内容(类.属性.方法和构造方法)的访问权636f70793231313335323631343130323136353331333337393466限 ...

  2. java 方法权限_Java控制访问权限的方法

    这篇博客主要用来介绍Java中的访问权限. 引入访问控制权限 我们都知道,一个通用类库(如:JDK)开发出来的目的是让普通开发者重用以节省开发时间与精力,但是类库的设计不可能在刚开始就尽善尽美,普通开 ...

  3. java 编程原理_Java网络编程 -- 网络编程基础原理

    Hello,今天记录下 Java网络编程 --> 网络编程基础原理. 一起学习,一起进步.继续沉淀,慢慢强大.希望这文章对您有帮助.若有写的不好的地方,欢迎评论给建议哈! 初写博客不久,我是杨展 ...

  4. java编程方向_java网络编程方向具体该怎么去学

    1 1. JDBC(Java Database Connectivity):  JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDC ...

  5. python网络编程视频教程_Java网络开发视频教程 – 一站式学习Java网络编程视频教程 全面理解BIO(无密)...

    Java网络开发视频教程 – 一站式学习Java网络编程视频教程 全面理解BIO(无密) 全面理解BIO/NIO/AIO 网络层编程,是每一个开发者都要面对的技术.课程为解决大家学习网络层知识的难题, ...

  6. java nio 客户端_Java网络编程:Netty框架学习(二)---Java NIO,实现简单的服务端客户端消息传输...

    概述 上篇中已经讲到Java中的NIO类库,Java中也称New IO,类库的目标就是要让Java支持非阻塞IO,基于这个原因,更多的人喜欢称Java NIO为非阻塞IO(Non-Block IO), ...

  7. java程序结构_Java 程序结构说明(学习 Java 编程语言 004)

    1. 一个简单的类 创建 FirstSample.java 文件,来编写最简单的 Java 应用程序.下面是示例代码: public class FirstSample { public static ...

  8. java 爬虫框架nutch_网络爬虫(2)-- Java爬虫框架

    Nutch Nutch属于分布式爬虫,爬虫使用分布式,主要是解决两个问题:1)海量URL管理:2)网速.如果要做搜索引擎,Nutch1.x是一个非常好的选择.Nutch1.x和solr或者es配合,就 ...

  9. java c 速度_Java和C#运行速度对比:Java比C#快约3倍

    测试条件: Java版本: Java 8, .NET版本:v4.0, Release模式,针对x86平台优化 单线程模式. Java代码: package javatest; public class ...

  10. java怎么打开_java开不了怎么办?java怎么打开?

    我们在打开java软件的时候,总是提示打不开,这可急坏了小伙伴,软件打不开,就无法写程序了,那么接下来,我们就来给大家讲解一下java开不了的解决方法. 1.先保证正确安装了JAVA环境. 2.再打开 ...

最新文章

  1. 互联网公司java面试题(一)
  2. Linux Kernel Namespace实现: namespace API介绍
  3. redis cluster 集群 安装 配置 详解
  4. ORACLE用SYS登录报ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER解决方法
  5. 上传单.多个文件的函数封装
  6. 利用OpenIPMI监控服务器温度
  7. linux设备驱动模型架构分析 一
  8. KindEditor 基本的使用
  9. Windows Server 2008 R2终端服务器激活方法
  10. Android studio 之 Kotlin Not Configured
  11. 为什么很多公司不要培训出来的Java程序员?
  12. 疯狂Android讲义(第2版)重印10次的超级畅销书
  13. w ndows7怎样连接无线网,windows7电脑上连接wifi的设置步骤
  14. latex 参考文献显示问号_终于用回vscode写LaTeX了
  15. 【C语言进阶】字符函数和字符串函数
  16. 使用 Python 地图绘制工具 -- folium 全攻略
  17. android动态获取地理位置权限,Android6.0获取GPS定位和获取位置权限和位置信息的方法...
  18. Proteus元器件对照表
  19. python学习笔记:第8天 文件操作
  20. 1095: 统计元音(函数专题)

热门文章

  1. filezilla检查新版本mac_filezilla中文版mac下载
  2. 数据库—并发调度的可串行性
  3. C# 代码创建mysql存储过程(使用mysqlScript)
  4. .NET中的Lambda表达式与匿名方法
  5. CSS Hacks / Conditional Comments For IE
  6. 关于Python编码这一篇文章就够了
  7. 用.NET提供的Mail来发邮件
  8. Python字符串、元组、列表、字典互相转换的方法
  9. Linux Mint开发环境安装整理
  10. html不使用cache数据