• Springcloud学习笔记27--JeecgBoot 微服务feign接口调用


    以服务(jeecg-cloud-system)调用服务(jeecg-cloud-test)为例讲解feign调用说明

    1 jeecg-demo中编写服务接口

    (1)编写接口

    public interface TestService {
        Result<String> getMessage(String name);
    }

    (2)编写实现类

    @Service
    public class TestServiceImpl implements TestService {
        @Override
        public Result<String> getMessage(String name) {
            return Result.OK("hello "+name);
        }
    }

    (3)编写服务接口

    @Slf4j
    @Api(tags = "test")
    @RestController
    @RequestMapping("/test")
    public class TestController {
        @Resource
        private TestService testService;
    
        @GetMapping(value = "/demo")
        @ApiOperation(value = "测试方法", notes = "测试方法")
        public Result methodTest() {
    
            return Result.OK("这是测试方法TestController");
        }
    
    
    
        @GetMapping("/getMessage")
        public Result<String> getMessage(@RequestParam String name) {
            return testService.getMessage(name);
        }
    
    }

    2 jeecg-system中编写feign客户端

    (1)启动类 加上 @EnableFeignClients 注解。

     (2)编写feign客户端

    //value = "jeecg-cloud-test"中填写被调用服务的名称
    @FeignClient(value = "jeecg-cloud-test")
    @Component
    public interface JeecgCloudTestFeign {
    
        @GetMapping(value = "/test/getMessage") // 注意(/test/getMessage为jeecg-cloud-test服务提供方中TestController中的方法对应的访问路径
        Result<String> getMessage(@RequestParam("name") String name);
    
    }

    (3)编写测试方法

    @RestController
    @RequestMapping("/test1")
    public class JeecgCloudFeignTestController {
        //注入feign客户端
        @Autowired
        private JeecgCloudTestFeign jeecgCloudTestFeign;
    
        @GetMapping("/getMessage3")
        public Result<String> getMessage() {
            return jeecgCloudTestFeign.getMessage("jeecg-cloud-test");
        }
    }

    (4)postman测试

    <1>直接访问微服务jeecg-cloud-system-start模块,该模块再调用服务提供方jeecg-cloud-test模块

     注意:如果postman访问不通,考虑在nacos配置文件中shiro中放开路径(添加/test1/**)

    隐藏大坑:如果使用shiro避免拦截,可能造成token失效,导致无法登录。因此,shiro中添加的路径不能乱加。

    <2>经过网关,访问 http://127.0.0.1:9999/sys/test1/getMessage3

    参考文献:

    http://doc.jeecg.com/2046526

  • 相关阅读:
    [NOIp pj 2007][Luogu P1095] 守望者的逃离
    [Noip 2009 普及组 T4] [Luogu P1070] 道路游戏
    跟风Manacher算法整理
    Luogu P2569 [SCOI2010] 股票交易
    qbzt2020五一DAY1T1集合——题解
    Cena使用教程
    2020.4.15校内测试
    康托展开学习笔记
    qbzt网格图路径问题——题解
    2-sat基础详解
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15380237.html
Copyright © 2020-2023  润新知