springcloud 远程rpc调用接口

﹏ヽ暗。殇╰゛Y 2022-02-17 06:00 747阅读 0赞

springcloud 如果想要从注册中心中调用已经注册的接口,需要用如下方法。

我们现在已经将一个微服务注册到了注册中心。端口是8083的那个
在这里插入图片描述

并且里面有个member的RequestMapping
在这里插入图片描述
首先,创建一个微服务,将需要的依赖放入pom.xml和配置好appplication.yml

然后我们就要在一个controller中用rpc通过注册中心调用接口
创建一个ordercontroller.java

  1. import org.springframework.beans.factory.annotation.Autowired;
  2. import org.springframework.web.bind.annotation.RequestMapping;
  3. import org.springframework.web.bind.annotation.RestController;
  4. import org.springframework.web.client.RestTemplate;
  5. @RestController
  6. public class ordercontroller {
  7. @Autowired
  8. private RestTemplate restTemplate;
  9. @RequestMapping("getorder")
  10. public String getorder() {
  11. // order 使用rpc 远程调用技术
  12. String memberUrl = "http://app-itmayiedu-member/member";
  13. String result = restTemplate.getForObject(memberUrl, String.class);
  14. System.out.println(result);
  15. return result;
  16. }
  17. }

并且创建一个启动文件,我创的是app.java

  1. import org.springframework.boot.SpringApplication;
  2. import org.springframework.boot.autoconfigure.SpringBootApplication;
  3. import org.springframework.cloud.client.loadbalancer.LoadBalanced;
  4. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.web.client.RestTemplate;
  7. @SpringBootApplication
  8. @EnableEurekaClient
  9. public class app {
  10. public static void main(String[] args) {
  11. SpringApplication.run(app.class, args);
  12. }
  13. @Bean
  14. @LoadBalanced
  15. RestTemplate restTemplate() {
  16. return new RestTemplate();
  17. }
  18. }

这里的LoadBalanced是开启负载均衡一定要加上

然后即可调用到8083端口的接口
在这里插入图片描述
成功

发表评论

表情:
评论列表 (有 0 条评论,747人围观)

还没有评论,来说两句吧...

相关阅读

    相关 RPC远程调用通俗理解

    先从一个案例来讲RPC 为了提升饭店的服务能力,饭店从一开始只有一个负责所有事情的厨师发展成有厨师、切菜师、备菜师等多个角色。在饭店只有一个厨师的时候,厨师想要做出一道美味