转载

(五)spring cloud client

前篇文章写的是spring cloud service,服务有了,那么下面就是怎么来调用服务了。

其实,spring cloud的请求也是基于http的,不过是http2的协议。深层次的实现方案暂不讨论,先解决应用性问题。

1.pom

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>

2.application.yml

server:
  port: 9903
eureka:
  client:
    service-url:
     defaultZone: http://localhost:8761/eureka/

3.启动函数

@SpringBootApplication
@EnableEurekaClient
public class ClientApplication {

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

    public static void main(String[] args) {
        SpringApplication.run(ClientApplication.class,args);
    }
}

这里用 RestTemplate作为 client .@LoadBalanced 这个注解的作用是用来做负载均衡的,里面会有算法实现

4.client 实现

@RestController
@RequestMapping(value = "user")
public class UserController {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping(value = "test")
    public String index(){
        return restTemplate.getForObject("http://example-service/user",String.class);
    }
}

5.测试效果

(五)spring cloud client

原文  http://blog.fengxiaotx.com/archives/864
正文到此结束
Loading...