zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【C++11】准备:gcc 4.9.0编译安装
    【转】C++ 虚函数表解析
    【工作总结】内存泄漏总结
    【工作总结】C++ string工具类
    工作总结
    【工作笔记】CxImage简介
    【工作笔记】没有界面程序调用ActiveX控件
    【工作笔记】npapi插件编写
    【工作笔记】VLC播放器在chrome中的调用
    Linux多任务编程之三:exec函数族及其基础实验(转)
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15380237.html
Copyright © 2011-2022 走看看