SpringCloud 之 服务消费者

前提

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

127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com

Rest学习实例之消费者

创建一个消费者去消费

在这里插入图片描述

消费者模块展示

1、导入依赖

<!--        实体类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服务

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

3、application.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 服务的客户端工具

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

}

4、创建控制类

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

@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端口
展示结果:

在这里插入图片描述

访问消费者接口

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 14:10:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 14:10:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 14:10:05       82 阅读
  4. Python语言-面向对象

    2024-04-25 14:10:05       91 阅读

热门阅读

  1. Debian常用命令

    2024-04-25 14:10:05       28 阅读
  2. 实时交互新篇章:WebSocket在Flutter中的应用与实践

    2024-04-25 14:10:05       40 阅读
  3. Android retrofit使用模板

    2024-04-25 14:10:05       148 阅读
  4. Qt相关开源项目总结

    2024-04-25 14:10:05       35 阅读
  5. QT5.12.12配置MSVC2017编译器环境

    2024-04-25 14:10:05       163 阅读
  6. Qt: windows下关闭系统窗体

    2024-04-25 14:10:05       38 阅读
  7. springBoot Event实现异步消费机制

    2024-04-25 14:10:05       168 阅读
  8. 富格林:警觉诱导黑幕避免亏损

    2024-04-25 14:10:05       35 阅读
  9. mybatis-plus 动态表名简易使用

    2024-04-25 14:10:05       40 阅读
  10. NX二次开发直接加载dlx(不用加载到菜单)

    2024-04-25 14:10:05       36 阅读