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

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

这期就到这里下期见!

相关推荐
SKH.4 分钟前
Linux软件编程(6)线程间通信
java·开发语言·数据库
Rain的Java大神之路9 分钟前
PC版网站被狂刷怎么处理
java·数据库·redis·后端·mysql·web安全·运维开发
宸津-代码粉碎机26 分钟前
AI工程化高阶实战|从Demo到生产落地核心架构、全套源码与避坑指南
java·大数据·开发语言·人工智能·python·架构
泡海椒2 小时前
告别手写 HTTP 模板!JQuick-Curl:直接把 curl 命令跑在 Java 中
java·网络协议·http
珍珠先生2 小时前
第2章 集合框架深度:HashMap 原理与并发集合
java
FreeTinker2 小时前
Java文件服务器的技术选型与实现路径:从嵌入式工具到企业级系统
java·服务器·开发语言
ly76892 小时前
Java 21 到 Java 26 新特性详解:虚拟线程、模式匹配、结构化并发、HTTP/3 与 AOT
java·jvm
我星期八休息3 小时前
Linux I/O多路转接—epoll
java·linux·运维·服务器·开发语言·jvm·算法
学长毕业设计3 小时前
基于springboot的云南中草药知识普及管理网站的设计与开发(源码+文档+讲解视频)
java·spring boot·后端
大模型码小白3 小时前
AI 提示词专栏:使用系统指令(System Prompt)实现全局约束
java·大数据·运维·开发语言·人工智能·python·prompt