前言
该实例主要是提供给大家一个实例,告诉大家在实际的项目中使用SpringCloudFeign完成A服务调用B服务的实现步骤,不涉及原理讲解.
整体描述
mis-coursedesign
服务调用mis-baseinfo
服务的controller
方法
实现目的:
在mis-coursedesign
服务中根据课程设计id
获取课程设计信息,并从中提取负责教师id
,远程调用mis-baseinfo
服务:根据教师id
查询教师详情信息.
实现步骤
💡 首先我们需要先在想要调用其他服务的服务中开启FeignClients服务,并创建相关的feign接口函数.
1、在mis-coursedesign
中建立feign
包,在包中新建BaseInfoFeignService
接口
@FeignClient("mis-baseinfo")
public interface BaseInfoFeignService {
// 负责教师详情信息
@RequestMapping("/baseinfo/teacher/courseheadteacherinfo/{id}")
public R courseHeadTeacherInfo(@PathVariable("id") Long id);
}
2、在MisCoursedesignApplication
中添加@EnableFeignClients(basePackages = "com.hust.mis.coursedesign.feign")
💡 下面我们需要在
mis-baseinfo
服务中实现BaseInfoService
接口的方法
3、 在实现开始前,我们需要先构造一个数据传输对象TeacherTo,
该对象在mis-baseinfo
和mis-coursedesign
中都会用到,因此我们在mis-common
中新建一个to
包,在其中新建TeacherTo
类,类中的属性为需要传输的字段.
@Data