SpringCloud 之 服务消费者

前提

便于理解我修改了本地域名=》这里!!!

复制代码
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com

Rest学习实例之消费者

创建一个消费者去消费


消费者模块展示

1、导入依赖

xml 复制代码
<!--        实体类api自己创建的模块 + Web 部分依赖展示-->
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
 <!-- eureka       -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
    <version>1.4.6.RELEASE</version>
</dependency>

2、创建启动入口

@EnableEurekaClient 开启eureka服务

java 复制代码
@SpringBootApplication
@EnableEurekaClient
public class DeptConsumer_80 {
    public static void main(String[] args) {
        SpringApplication.run(DeptConsumer_80.class,args);
    }
}

3、application.yml配置

yml 复制代码
server:
  port: 80

# eureka 配置
eureka:
  client:
    register-with-eureka: false  #  不向eureka中注册自己
    service-url:  #       替换源码 默认this.serviceUrl.put("defaultZone", "http://localhost:8761/eureka/");
      # 访问下面的eureka
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

3、创建配置类

使用RestTemplate 类 访问 Restful 服务的客户端工具

java 复制代码
@Configuration
public class ConfigBean {
    /**
     * http请求
     * @return
     */
    @Bean
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }

}

4、创建控制类

获取http://localhost:8001提供者的信息,导入RestTemplate ,访问提供者暴露的url

java 复制代码
@RestController
public class DeptConsumerController {
    // RestTemplate  不需要业务层
    // 提供多种便捷 远程http服务的方法
    @Autowired
    private RestTemplate restTemplate;
		
    private static  final String REST_URL_PREFIX = "http://localhost:8001/";
    @RequestMapping("/consumer/dept/get/{id}")
    public Dept get(@PathVariable("id") Long id){
        // 没有service  怎么获取    getForObject(url , 返回类型)
        return restTemplate.getForObject(REST_URL_PREFIX+"/dept/get/"+id,Dept.class);
    }

    @RequestMapping("/consumer/dept/list")
    public List<Dept> getAll(){
        // 没有service  怎么获取    getForObject(url , 返回类型)
        return restTemplate.getForObject(REST_URL_PREFIX+"/dept/list", List.class);
    }

    @RequestMapping("/consumer/dept/add")
    public boolean add(Dept dept){
        // 没有service  怎么获取    getForObject(url ,参数, 返回类型)
        return restTemplate.postForObject(REST_URL_PREFIX+"/dept/add",dept,Boolean.class);
    }

}

测试结果展示

测试成功的前提是先启动eureka服务和提供者服务

测试地址http://localhost/consumer/dept/list 默认80端口

展示结果:


访问消费者接口

相关推荐
一线大码3 天前
Smart-Doc 的简单使用
java·后端·restful
码云数智-园园3 天前
C++20 Modules 模块详解
java·开发语言·spring
咖啡八杯3 天前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
Flittly3 天前
【AgentScope Java新手村系列】(10)实战-多Agent天气助手
java·spring boot·spring
李少兄3 天前
从原理到实战:Spring IoC/DI 核心知识体系与高频面试题全解
java·后端·spring
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
慧一居士3 天前
Feign的GET请求如何传递对象参数?
java·spring cloud
ofoxcoding4 天前
在AI API聚合平台配置DeepSeek V3.2提示词缓存实战:快速接入与成本优化指南
人工智能·spring·缓存·ai
一杯奶茶¥4 天前
水果销售网站 CRM客户信息管理系统 超市管理系 酒店管理系统 健身房管理系统 在线音乐网站 校园招聘系统
java·vue.js·spring boot·mysql·spring·java项目
摇滚侠4 天前
SpringMVC 入门到实战 RESTFul 49-55
java·开发语言·后端·spring·intellij-idea·restful