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

  • 相关阅读:
    SQL语法 之 基本查询
    Oracle 之 常用函数
    Tomcat 之 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099;
    vim 如何编辑 GB2312 编码的文件?
    网络编程常见类型定义
    网络地址转换相关函数使用(inet_addr,inet_ntoa,inet_addr)
    onvif获取摄像头的流媒体地址完整流程
    gsoap
    海康ipc onvif抓包分析
    onvif杂项
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15380237.html
Copyright © 2011-2022 走看看