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

  • 相关阅读:
    asp.net core 3.1 入口:Program.cs中的Main函数
    vue手机发送验证码倒计时
    阿里云短信服务-短信发送验证码
    前端思维图
    正向代理和反向代理
    lombok+Logback统一异常和日志处理
    java统一结果返回(链式编程结果)
    SpringBoot简介和特点
    web如何测试?
    CSS字体样式属性
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15380237.html
Copyright © 2011-2022 走看看