创建用户业务服务
- 略 (可以参考前面SpringAlibabaCloud系列文章)
业务服务控制层写一个测试接口
@RestController
@RequestMapping("/user")
public class UserController {
/**
* 测试使用feign 调用
*/
@GetMapping("/feign/test")
public R<String> feignTest() {
return R.ok("通过Feign调用用户成功");
}
}
创建用户接口服务(user-server-api)
- 导入依赖
<dependencies>
<!--feign依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>cn.wyj</groupId>
<artifactId>common-server</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
创建用户远程调用接口
@FeignClient(contextId = "remoteUserClientService", value = ServiceNameConstants.USER_SERVICE)
public interface RemoteUserClientService {
/**
* 测试使用feign 调用
* @return
*/
@RequestMapping(value = "/user/feign/test",method = RequestMethod.GET)
R<String> feignTest();
}
创建资产服务
- 为了规范也分为业务和接口服务
资产业务服务加入用户接口服务依赖
<dependency>
<groupId>cn.wyj</groupId>
<artifactId>user-server-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
资产业务服务开启feign
启动类加上注解 @EnableFeignClients
在资产业务服务写个接口调用用户服务的接口
@RequestMapping("/asset")
@RestController
public class AssetController {
@Autowired
private RemoteUserClientService remoteUserClientService;
@GetMapping("user/feign/test")
public R feignTest(){
return remoteUserClientService.feignTest();
}
}
在网关服务配置好资产服务
# 资产服务
- id: asset-server
uri: lb://asset-server-biz
predicates:
- Path=/asset/**
filters:
- StripPrefix=1
测试
- 通过网关服务访问资产服务测试
http://localhost:8000/asset/asset/user/feign/test - 如果不想通过网关去测试 可直接访问资产服务去测试(http://localhost:8000/asset/user/feign/test)
- 至此就成功了!
注意:
- 需要资产业务服务开启feign,主启动类加上注解@EnableFeignClients
[ 如有疑问欢迎留言交流!]