Feign 是一种声明式Web服务客户端,底层封装了对Rest技术的应用,通过Feign可以简化服务消费方对远程服务提供方法的调用实现。如图所示:
如何使用Feign:第一步:在服务消费方添加Feign依赖:
org.springframework.cloud
spring-cloud-starter-openfeign
第二步:在服务消费方的启动类添加注解@EnableFeignClients
第三步:创建一个service接口 接口名:RemoteProviderService
package com.jt.consumer.controller;
@RestController
@RequestMapping("/consumer/ ")
public class FeignConsumerController {
@Autowired
private RemoteProviderService remoteProviderService;
@GetMapping("/echo/{msg}")
public String doFeignEcho(@PathVariable String msg){
//基于feign方式进行远端服务调用(前提是服务必须存在)
return remoteProviderService.echoMessage(msg);
}
}
第四步:创建一个controller层的包,包名:FeignConsumerController
package com.jt.controller;
import com.jt.service.RemoteProviderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/consumer")
public class FeignConsumerController {
@Autowired
private RemoteProviderService remoteProviderService;
@GetMapping("/echo/{msg}")
public String doFeignEcho(@PathVariable("msg") String msg){
return remoteProviderService.echoMessage(msg);
}
}
第五步:浏览器访问 http://localhost:8090/consumer/echo/777
有如下效果说明:服务消费方正常调用的服务提供方



