Spring Boot 中的 RestTemplate
简述:
-
Spring Boot 中没有⾃动配置 RestTemplate
-
Spring Boot 提供了 RestTemplateBuilder
- RestTemplateBuilder.build()
常⽤⽅法
-
GET 请求
- getForObject() / getForEntity()
-
POST 请求
- postForObject() / postForEntity()
-
PUT 请求
- put()
- DELETE 请求
- delete()
构造 URI
-
构造 URI
- UriComponentsBuilder
-
构造相对于当前请求的 URI
- ServletUriComponentsBuilder
-
构造指向 Controller 的 URI
- MvcUriComponentsBuilder
RestTemplate
官网地址:https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#webmvc-client
RestTemplate是执行HTTP请求的同步客户端。它是原始的Spring REST客户端,并在底层HTTP客户端库上公开了一个简单的模板方法API。
从5.0开始,RestTemplate处于维护模式,只接受少量的更改请求和bug。请考虑使用 WebClient,它提供了更现代的API并支持同步、异步和流场景。
可参阅REST Endpoints 了解详细信息。
RestTemplate在HTTP客户端库上提供了更高级别的API。它使在单行中调用REST endpoints变得容易。它公开了以下几组重载方法:
Method group | Description |
---|---|
getForObject |
通过使用GET方法得到一个响应体的Object |
getForEntity |
通过使用GET方法得到一个ResponseEntity (包括status , headers , body )。 |
headForHeaders |
通过使用HEAD方法得到资源的所有headers 。 |
postForLocation |
通过使用POST方法创建一个新资源,并从返回响应中的Location 头。 |
postForObject |
使用POST方法创建新资源,并返回响应体的Object 。 |
postForEntity |
使用POST方法创建新资源,并返回响应的ResponseEntity 。 |
put |