RestTemplate

一、概述

RestTemplate是从 Spring3.0 开始支持的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求、POST 请求、PUT 请求、DELETE 请求以及一些通用的请求执行方法 exchange 以及 execute。

RestTemplate 继承自 InterceptingHttpAccessor 并且实现了 RestOperations 接口,其中 RestOperations 接口定义了基本的 RESTful 操作,这些操作在 RestTemplate 中都得到了实现。

传统情况下在java代码里访问Restful服务,一般使用Apache的HttpClient。不过此种方法使用起来太繁琐。

Spring提供了一种简单便捷的模板类RestTemplate来进行操作:

java 复制代码
@Component
public class RestTemplateConfig {

    @Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}
java 复制代码
@RestController
public class RestConsumer {

    public static final String PAYMENT_URL = "http://localhost:8081";

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/consumer/{id}")
    public String getForObject(@PathVariable("id") Integer id){
        return restTemplate.getForObject(PAYMENT_URL+"/provider/{id}",String.class, id);
    }
}
java 复制代码
@RestController
public class RestProvider {

    @GetMapping("/provider/{id}")
    public String getForObject(@PathVariable("id") Integer id){

        return "provicer-"+id;
    }
}

二、经典博客详解

RestTemplate详解https://wenpingzhe.blog.csdn.net/article/details/121196840

相关推荐
xieliyu.3 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
明夜之约3 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee3 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Jinkxs3 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
辣机小司3 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
fangdengfu1234 小时前
ES分析系统各个服务日志占用量
java·前端·elasticsearch
云烟成雨TD4 小时前
Spring AI 1.x 系列【51】可观测性技术选型
java·人工智能·spring
星越华夏4 小时前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32
Jinkxs5 小时前
Java 跨域14-Java 与区块链(Hyperledger)集成
java·开发语言·区块链
晨曦中的暮雨6 小时前
Golang速通(Javaer版)
java·开发语言·后端·golang