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

相关推荐
卓怡学长7 小时前
m115乐购游戏商城系统
java·前端·数据库·spring boot·spring·游戏
2501_944526427 小时前
Flutter for OpenHarmony 万能游戏库App实战 - 蜘蛛纸牌游戏实现
android·java·python·flutter·游戏
打工的小王7 小时前
java并发编程(三)CAS
java·开发语言
尤老师FPGA7 小时前
使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十五讲)
android·java·ui
星火开发设计8 小时前
C++ 函数定义与调用:程序模块化的第一步
java·开发语言·c++·学习·函数·知识
cypking8 小时前
二、前端Java后端对比指南
java·开发语言·前端
未若君雅裁8 小时前
SpringAI基础入门
java·spring boot·ai
CC.GG8 小时前
【C++】用哈希表封装myunordered_map和 myunordered_set
java·c++·散列表
a努力。9 小时前
字节Java面试被问:TCP的BBR拥塞控制算法原理
java·开发语言·python·tcp/ip·elasticsearch·面试·职场和发展
jiaguangqingpanda9 小时前
Day24-20260120
java·开发语言·数据结构