RestTemplate
程序员文章站
2022-03-02 17:37:19
...
一.简介
是Spring用于同步client端的核心类,简化了与http服务的通信,并满足RestFul原则,程序代码可以给它提供URL,并提取结果。默认情况下,RestTemplate默认依赖jdk的HTTP连接工具。当然你也可以 通过setRequestFactory属性切换到不同的HTTP源,比如Apache HttpComponents、Netty和OkHttp。。RestTemplate并没有限定Http的客户端类型,而是进行了抽象,目前常用的3种都有支持:
- HttpClient
- OkHttp
- JDK原生的URLConnection(默认的)
二.在springBoot中使用
1.创建配置类
HttpClientConfig.java
package com.miracle.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class HttpClientConfig {
// 想容器中添加 RestTemplate
@Bean
public RestTemplate restTemplate() {
/**
* 这里可以选择底层实现(有三种):
* HttpClient
* OkHttp
* JDK原生的URLConnection(默认的)
*/
// 创建 JDK原生的URLConnection(默认的)
return new RestTemplate();
}
}
2.使用
这里使用springtest进行单元测试
package com.miracle;
import com.miracle.pojo.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.web.client.RestTemplate;
@RunWith(SpringRunner.class)
@SpringBootTest
public class Demo2ApplicationTests {
@Autowired
private RestTemplate restTemplate;
@Test
public void test1(){
// 第一个参数:发送get请求的url,第二个参数:当服务器返回json,使用bean对象接收
User user = restTemplate.getForObject("http://localhost:8080/hello/aaa", User.class);
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>" + user);
}
}
上一篇: 聊一聊redis奇葩数据类型与集群知识
推荐阅读
-
Spring Boot使用RestTemplate消费REST服务的几个问题记录
-
Spring cloud restTemplate 传递复杂参数的方式(多个对象)
-
Spring Boot使用RestTemplate消费REST服务的几个问题记录
-
详解SpringBoot通过restTemplate实现消费服务
-
Spring cloud restTemplate 传递复杂参数的方式(多个对象)
-
Spring RestTemplate具体使用详解
-
详解SpringBoot通过restTemplate实现消费服务
-
基于RestTemplate的使用方法(详解)
-
基于RestTemplate的使用方法(详解)
-
Eureka restTemplate访问超时