可信网站认证 服务中心,建筑八大员报名官网,天猫商城购买,有开源项目做的网站可以通过OpenFeign从一个服务中调用另一个服务#xff0c;我们一般采用的方式就是定义一个Feign接口并使用FeignClient注解来进行标注#xff0c;feign会默认为我们创建的接口生成一个代理对象。 当我们在代码中调用Feign接口的方法的时候#xff0c;实际上就是在调用我们Fe…可以通过OpenFeign从一个服务中调用另一个服务我们一般采用的方式就是定义一个Feign接口并使用FeignClient注解来进行标注feign会默认为我们创建的接口生成一个代理对象。 当我们在代码中调用Feign接口的方法的时候实际上就是在调用我们Feign生成的代理对象的方法代理对象会根据接口定义的方法信息将我们的请求转发到相应的代码提供者。 然后Feign会根据接口方法的注解信息进行构建HTTP请求并将相关请求发送给服务提供者目前Feign支持多种HTTP请求包括但不限于GETPOST等并且支持请求参数请求头等的配置。 服务提供者接收到请求后根据请求路径和参数等信息执行相应的业务逻辑并将相关结果返回给Feign客户单至此Feign客户端接收到服务提供者的响应后将响应结果返回给调用方。
启动服务之后我们在Feign直接调用EurekaClientApplication中的接口首先我们就在启动类里边添加相关注解 SpringBootApplication
EnableEurekaClient
EnableFeignClients
public class FeignApplication
{
public static void main( String[] args )
{
SpringApplication.run(FeignApplication.class);
}
} 然后创建一个DcClient接口 FeignClient(eureka-client)
public interface DcClient { GetMapping(/dc)
String consumer(); }
那么我们应该在那里调用这个接口呢 我们直接通过控制层进行调用创建一个DcController控制类 RestController
public class DcController { Autowired
DcClient dcClient; GetMapping(/consumer)
public String dc() {
return dcClient.consumer();
}
}
然后重启FeignApplication。通过访问
localhost:2380/consumer
在Feign服务中调用到EurekaClient模块中的DcController,让我们看看EurekaClient模块中的DcController:
RestController
public class DcController { Autowired
DiscoveryClient discoveryClient; GetMapping(/dc)
public String dc() {
String services Services: discoveryClient.getServices();
System.out.println(services);
return services;
}
}