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

  • 相关阅读:
    Spring Boot 2.3.0 正式发布!
    当互联网码农遇见国企老同学
    GitHub发布重大更新,关系到所有程序员!
    开发者被要求向破解者道歉,竟揪出“阿里云假员工”,网友:这人有前科
    等了整整12年!Linux QQ 终于更新了!
    我的电脑不联网,很安全,黑客:你还有风扇呢
    grpc的简单用例 (golang实现)
    grpc的简单用例 (C++实现)
    redis键过期 (redis 2.6及以上)
    安装folly库以及folly的ConcurrentHashMap的简单使用
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15380237.html
Copyright © 2011-2022 走看看