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

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

这期就到这里下期见!

相关推荐
杨杨杨大侠1 小时前
都能接模型、RAG 和 MCP,Java Agent 框架到底差在哪?
java
Thinker QAQ2 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
霸道流氓气质3 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python
AOI小白新手上路3 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
dishugj5 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言
苜蓿muxu5 小时前
常用代码命名规范
java
马优晨6 小时前
JAVA 中 VO 实体类是什么意思,为什么要做这个
java·开发语言·状态模式·java vo·java vo是什么
Baron X6 小时前
Eclipse Temurin 21 (JRE) Alpine 镜像获取、离线导入与推送操作
java·docker·eclipse·temurin
孙浩君6 小时前
我用 Spring Boot + xterm.js 写了个终端风格互动叙事游戏引擎:游戏即文件,上传一个 JSON 就能玩
java