Rest Template 使用

大家好我是苏麟 今天带来Rest Template .

spring框架中可以用restTemplate来发送http连接请求, 优点就是方便.

Rest Template 使用

Rest Template 使用步骤

java 复制代码
    /**
     * RestTemple:
     * 1.创建RestTemple类并交给IOC容器管理
     * 2. 发送http请求的类
     */

1.注册RestTemplate对象

java 复制代码
@SpringBootApplication
public class OrderApplication {

    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }


    /**
     * 创建RestTemple类并交给IOC容器管理
     *
     * @RestTemple 是发送http请求的类
     *
     * @LoadBalanced 负载均衡注解
     */
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

2.发送HTTP请求

java 复制代码
@Service
public class OrderService {

    @Autowired
    private OrderMapper orderMapper;

    //引入
    @Autowired
    private RestTemplate restTemplate;


    public Order queryOrderById(Long orderId) {
        // 1.查询订单
        Order order = orderMapper.findById(orderId);

        //2.利用RestTemplate发起http请求,查询用户信息
        //2.1 url
        String url = "http://userserver/user/" + order.getUserId();

        //2.2 发送http请求,实现远程调用
        User u = restTemplate.getForObject(url, User.class);

        //3.封装到order里
        order.setUser(u);

        // 4.返回
        return order;
    }
}

主要代码就是

java 复制代码
        //2.利用RestTemplate发起http请求,查询用户信息
        //2.1 url
        String url = "http://userserver/user/" + order.getUserId();

        //2.2 发送http请求,实现远程调用
        restTemplate.getForObject(url, User.class);

发送Get请求用 getForObject

参数: 第一个参数: 发送请求的路径 , 第二个参数 : 返回的类型

发送Post请求 postForObject

参数: 第一个参数: 发送请求的路径 , 第二个参数 : 请求数据对象 , 第三个参数 : 返回的类型

这期就到这里下期见!

相关推荐
尚早立志14 分钟前
六)Spring Boot 源码研读之prepareContext 准备上下文
java·spring boot·后端·spring
Lhappy嘻嘻8 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
伊玛目的门徒9 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
懒鸟一枚11 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我1234513 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑13 小时前
Sentinel安装
java·后端·微服务
凤凰院凶涛QAQ15 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
掘金_答案15 小时前
上线那天,一个 ConcurrentHashMap 差点送走我的 AI 客服——3 天排查 JVM 血泪史
java·后端·架构
猿与禅16 小时前
CosId 分布式 ID 生成器完全教程:从架构原理到生产落地
java·shardingsphere·雪花算法·分布式id·高性能·cosid·号段模式
MindUp16 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维