1、概念
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務安圖,10多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575Feign 是一種聲明式、模板化的 HTTP 客戶端,是一個聲明web服務客戶端,這便得編寫web服務客戶端更容易。
2、應用
2.1 、在項目中,模塊與模塊之間需要互相調用,比如web模塊需要調用service模塊的服務,這個時候就需要在web引入Fegin,創(chuàng)建項目web-fegin
2.2、在pom文件里面添加
2.3、創(chuàng)建啟動類WebFeignApplication
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients(basePackages="com.web")
public class WebFeignApplication{
public static void main(String[] args) {
SpringApplication.run(FeignApplication.class, args);
}
}
2.4、定義服務接口類UserFeignClient
@FeignClient(name =WebConstants.SERVIE_USER_NAME)
public interface UserFeignClient {
@RequestMapping("/{id}")
public User findByIdFeign(@RequestParam("id") Long id);
}
2.5、在web層調用Fegin
@RestController
public class FeignController {
@Autowired
private UserFeignClient userFeignClient;
@GetMapping("feign/{id}")
public User findByIdFeign(@PathVariable Long id) {
User user = this.userFeignClient.findByIdFeign(id);
return user;
}
}
2.6 如果不使用上面的fegin,則得自己寫個服務調用類,來調用service的服務,增加編程的難度,既然有了fegin,就沒必要重復造輪子了。
3、application.properties的配置
spring.application.name=web-fegin
server.port=8020
eureka.client.serviceUrl.defaultZone=http://localhost:9411/eureka/
service.user.name=microservice-provider-user
4、定義常量WebConstants
public class WebConstants{
public static final String SERVIE_USER_NAME="${service.user.name}";
}
5、訪問
http://127.0.0.1:8020/fegin/1
6、總結:
其實通過Feign封裝了HTTP調用服務方法,使得客戶端像調用本地方法那樣直接調用方法