写一个微服务接口
本示例以服务Version: 2.5+
jeecg-system
调用服务jeecg-demo
为例讲解feign调用
一. jeecg-demo中编写服务接口
编写接口
public interface JeecgDemoService {
Result<String> getMessage(String name);
}
编写实现类
@Service
public class JeecgDemoServiceImpl implements JeecgDemoService {
@Override
public Result<String> getMessage(String name) {
return Result.OK("Hello" + name);
}
}
编写服务接口
@RestController
@RequestMapping("/test")
public class JeecgDemoProvider {
@Resource
private JeecgDemoService jeecgDemoService;
@GetMapping("/getMessage")
public Result<String> getMessage(@RequestParam String name) {
return jeecgDemoService.getMessage(name);
}
}
二. jeecg-system中编写feign客户端接口
- 启动类加上
@EnableFeignClients
注解。
- 编写feign客户端
//jeecg-boot-module-demo模块的服务名是 jeecg-demo
@FeignClient(value = CloudConstant.SERVER_NAME_JEECGDEMO, configuration = FeignConfig.class,fallbackFactory = JeecgTestClientFactory.class)
@Component
public interface JeecgTestClient {
@GetMapping(value = "/test/getMessage")
Result<String> getMessage(@RequestParam(value = "name",required = false) String name);
}
- 编写测试方法
@RestController
@RequestMapping("/sys/test")
@Api(tags = "feign测试")
public class JeecgTestFeignTest {
//注入feign客户端
@Autowired
private JeecgTestClient jeecgTestClient;
@GetMapping("getMessage")
@ApiOperation(value = "测试feign", notes = "测试feign")
public Result<String> getMessage() {
return jeecgTestClient.getMessage("jeecg-boot");
}
}