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

相关推荐
忆~遂愿3 分钟前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
MZ_ZXD0018 分钟前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
PP东10 分钟前
Flowable学习(二)——Flowable概念学习
java·后端·学习·flowable
ManThink Technology15 分钟前
如何使用EBHelper 简化EdgeBus的代码编写?
java·前端·网络
invicinble20 分钟前
springboot的核心实现机制原理
java·spring boot·后端
人道领域28 分钟前
SSM框架从入门到入土(AOP面向切面编程)
java·开发语言
大模型玩家七七1 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
CodeToGym1 小时前
【Java 办公自动化】Apache POI 入门:手把手教你实现 Excel 导入与导出
java·apache·excel
凡人叶枫1 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
JMchen1232 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio