微服务调用实例

微服务的调用示例

1 修改主机hosts

windows修改主机host方法

  • win+r 输入:C:\WINDOWS\system32\drivers\etc

  • 用notepad++打开hosts文件

  • 修改文件中的127.0.0.1 为yjhou.com的主机名(yjhou可以随便取)

2 项目结构

好处:若不指定侧继承父工程依赖 若指定侧使用自己依赖 可以有两套存在

maven父工程

  • 自身信息(maven坐标)
 micro-service
 1.0-SNAPSHOT
 pom
  • parent信息
  org.springframework.boot
  spring-boot-starter-parent
  2.3.3.RELEASE
  
  • modules信息
  eureka-server
  provider-hello
  yjhou
  consumer-hello
  
  • properties信息

     1.8
     UTF-8
     UTF-8
     UTF-8
     2.3.3.RELEASE
     Hoxton.SR8
     
  • dependencies(依赖 )

    • spring-boot-starter-web

    • spring-boot-test

    • spring-boot-starter-actuator

    • lombok

  • dependencyManagement

    • spring-boot-dependencies

    • spring-cloud-dependencies

maven子模块

consumer-hello(消费者:也是客户端)

  • 首先yml文件需要修改
server:
     port: 80  #postman默认的也是80端口
    spring:
     application:
     name: consumer-hello  #在Eureka首页展示的是这个name
    info:
     app:
     name: consumer-hello11  #点击跳转后展示的是这个name
    eureka:
     instance:
     hostname: yjhou.com #主机名   一开始通过win+r修改的主机名字
     prefer-ip-address: true #是否将当前服务的IP注册到Eureka Server
     client:
     service-url:
     defaultZone: http://${eureka.instance.hostname}:9898/eureka/  #9898是服务端的端口号
  • 启动主类(需要加入的注解)

    • @SpringBootApplication

    • @EnableDiscoveryClient(客户端都用这个注解 而不使用@EnableEurekaClient)

  • 启动主类中注入RestTemplate(通过@Bean注入 @Resour来调用)

    /**
     * 创建RestTemplate 示例并通过 @Bean注解注入到IoC容器中
     * @return RestTemplate
     */
     @Bean
     public RestTemplate restTemplate(){
     return new RestTemplate();
     }
  • handler调用
1.png

方法作用:路径传参根据id来查询对应的Music
说明: 1方法有参数需要在方法后面指定 同时在getForObject中加上才字段(如果参数很多,则用逗号隔开)
2 yjhou:8003端口号:8003是你调用的生产者那边配置好的端口号
3 postm调用的路径是写在Handler中的路径("/consumer1/{id}")

注解写法(与之前springboot的控制台写法是一样的)


2.png

注入restTemplate


3.png

方法调用


4.png

privider-hello(生产者:也是客户端)


5.png

3 postman测试结果

6.png
7.png
8.png

你可能感兴趣的:(微服务调用实例)