首先,在你的 pom.xml
文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web-services</artifactId>
</dependency>
然后,在你的代码中创建一个 RestTemplate 对象:
@Autowired
private RestTemplate restTemplate;
现在,你可以使用 RestTemplate 来发送 GET、POST、PUT、DELETE 等请求了。例如,发送一个 GET 请求:
String result = restTemplate.getForObject("http://example.com/api", String.class);
这将会发送一个 GET 请求到 http://example.com/api
并返回响应的字符串。你也可以使用 getForEntity()
方法来获取响应的状态码和头信息。
类似地,你也可以使用 postForObject()
、putForObject()
、deleteForObject()
等方法来发送其他类型的请求。
RestTemplate 类中常用的方法有:
-
GET 请求:
getForObject(url, responseType)
: 发送 GET 请求并返回指定类型的响应对象。getForEntity(url, responseType)
: 发送 GET 请求并返回 ResponseEntity 对象,包含了响应的状态码、头信息和响应体。
-
POST 请求:
postForObject(url, request, responseType)
: 发送 POST 请求并返回指定类型的响应对象。postForEntity(url, request, responseType)
: 发送 POST 请求并返回 ResponseEntity 对象,包含了响应的状态码、头信息和响应体。postForLocation(url, request)
: 发送 POST 请求,不返回响应体,但返回响应的 Location。
-
Exchange 方法:可以发送自定义的 HTTP 请求,并返回 ResponseEntity 对象,更灵活地处理响应。
exchange(url, method, requestEntity, responseType)
: 发送自定义的 HTTP 请求,并指定请求方法、请求实体和返回类型。
-
Execute 方法:可以发送自定义的 HTTP 请求,并通过回调函数处理响应。
execute(url, method, requestCallback, responseExtractor)
: 发送自定义的 HTTP 请求,并通过 RequestCallback 和 ResponseExtractor 进行请求和响应的处理
当然,除了基本的 GET、POST、PUT、DELETE 请求外,RestTemplate 还提供了更多高级的功能,例如文件上传、Cookie、HTTPS 支持等。你可以查看官方文档来了解更多信息。