zoukankan      html  css  js  c++  java
  • Eureka多服务调用

     所以我们需要写入公共模块

    自己随便写入然后在pom中添加

    并且在订单中调用用户服务需要使用restTemlate这个

    UserController

    package cn.jiedada.web.controller;
    
    import cn.jiedada.domain.User;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("/provider")
    public class UuserController {
        @RequestMapping("/")
        public String home() {
            return "Hello world";
        }
    
        @RequestMapping(value = "/user/{id}",method = RequestMethod.GET)
        public User getUserById(@PathVariable("id") Long id){
            System.out.println("这是user中的getUser方法被调用");
            return new User(id,"user");
        }
    }

    OrderController

    package cn.jiedada.web.controller;
    
    import cn.jiedada.domain.User;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.client.RestTemplate;
    
    @RestController
    @RequestMapping("/customer")
    public class OrderController {
        @Autowired
        private RestTemplate restTemplate;
    
        @RequestMapping("/")
        public String home() {
            return "Hello world";
        }
        /*这个方法是我们去掉user_service_2000中的数据
        所以需要使用restTemplate的类
        * */
        @RequestMapping("/order/{id}")
        public User getUserById(@PathVariable("id")Long id){
            //拼接字符串
            String url="http://localhost:2000/provider/user/"+id;
            //通过这个方法调用我们的
            return restTemplate.getForObject(url,User.class);
        }
    }

    RestTemplate

    package cn.jiedada.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.client.RestTemplate;
    
    @Configuration
    public class WebConfig {
        @Bean
        public RestTemplate restTemplate(){
            return new RestTemplate();
        }
    }

    出现这个页面

  • 相关阅读:
    Systemd 指令
    2018年书单
    2017年书单
    Centos7 Devstack [Rocky] 重启后无法联网
    kvm虚拟机操作相关命令及虚拟机和镜像密码修改
    负载均衡原理-转
    用配置文件里面的参数值替换yaml模板中的变量值【python】
    linux工具之sar
    利用系统缓存优化程序的运行效率
    Elasticsearch单机部署
  • 原文地址:https://www.cnblogs.com/xiaoruirui/p/11925876.html
Copyright © 2011-2022 走看看