【SpringCloud】01-远程调用

1. RestTemplate

    1. 注册Bean
java 复制代码
@SpringBootApplication
public class CartServiceApplication {

    public static void main(String[] args) {
        SpringApplication.run(CartServiceApplication.class, args);
        System.out.println("cart启动成功");
    }

    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

}
    1. 在代码中引入Bean
java 复制代码
// 推荐使用构造函数注入, 使用lombook的@RequiredArgsConstructor进行注入
    private final RestTemplate restTemplate;
    1. 远程调用
java 复制代码
// 1.获取商品id
        Set<Long> itemIds = vos.stream().map(CartVO::getItemId).collect(Collectors.toSet());
        // 2.查询商品
        ResponseEntity<List<ItemDTO>> response = restTemplate.exchange(
                "http://localhost:8081/items?ids={ids}",
                HttpMethod.GET,
                null,
                new ParameterizedTypeReference<List<ItemDTO>>() {
                },
                Map.of("ids", CollUtil.join(itemIds, ","))
        );
        if (!response.getStatusCode().is2xxSuccessful()) {
            return;
        }
        List<ItemDTO> items = response.getBody();
相关推荐
Simon5231411 小时前
Spring Bean----5.27学习小记
java·学习·spring
雪隐11 小时前
AI股票小助手00-导言
人工智能·后端
长安不见12 小时前
从 Codex 的防御式写法说起:Redisson 分布式锁该怎么用
后端
夕除12 小时前
spring boot 16
java·spring boot·后端
努力成为AK大王12 小时前
Spring Bean 作用域与生命周期
java·后端·spring
希望永不加班12 小时前
SpringBoot 消息幂等性设计:防重复消费
java·开发语言·spring boot·后端·spring
我是一颗柠檬12 小时前
【JDK8新特性】CompletableFuture异步编程Day10
java·开发语言·后端·intellij-idea
Yeats_Liao12 小时前
5:Servlet程序-Java Web
java·后端·设计
小马爱打代码12 小时前
Spring源码 第八篇:Spring 5 源码深度拆解 - Spring 资源加载与 Environment 环境体系
java·后端·spring
月落归舟12 小时前
Spring Bean作用域以及生命周期
java·spring