Feign快速入門

2021-09-07 20:51:23 字數 2506 閱讀 3914

一、feign簡介

1、feign是乙個宣告式的web服務客戶端,使用feign編寫web服務客戶端更加容易

2、具有可插拔註解支援,包括feign註解和jax-rs註解,還支援可插拔的編碼器與解碼器

3、spring cloud 增加了對 spring mvc的註解的支援,spring web 預設使用了httpmessageconverters

4、spring cloud 整合了 ribbon 和 eureka,在使用feign時提供負載均衡的http客戶端

二、匯入依賴

org.springframework.cloud

spring-cloud-starter-feign

三、開啟註解

@enablediscoveryclient

@enablefeignclients

//開啟feign支援

public

class}

四、feign入門示例

1、producercontroller——服務提供者,在mima-cloud-producer專案中

@restcontroller

public

class

producercontroller

public

user getuser(@pathvariable string id)

public

user postuser(@requestbody user user)

public

user getuser2(user user)

public listlistall()

}

以下**在cloud-consumer-feign專案中

2、feigntestclient——定義feign客戶端,宣告式介面與producercontroller服務提供的方法一一對應

//

定義feign客戶端,value引數為provider的servicename。name引數實際是value的別名

//@feignclient("mima-cloud-producer")與@feignclient(name="mima-cloud-producer")本質相同

//@feignclient(url="")引數已經作廢,必須使用name屬性

//如果設定url屬性, 則name屬性則只代表feign客戶端的別名,而不代表服務端的servicename

@feignclient(name="mima-cloud-producer")

public

inte***ce

feigntestclient

public

user getuser2(user user);

//呼叫遠端的post方法,可以使用@requestbody

public

user postuser(@requestbody user user);

//呼叫遠端的post方法,可以不使用@requestbody

public

user postuser2(user user);

//呼叫遠端的post方法,如果引數為複雜物件,就算指定了method=requestmethod.get,依然會使用post方式請求

//遠端的方法也是post的,所以可以呼叫成功

public

user postuser3(user user);

list

listall();

}

3、feigntestcontroller——呼叫feign客戶端

@restcontroller

public

class

feigntestcontroller

public

user getuser(@pathvariable string id)

public

user getuser2(user user)

public listlistall()

public

user postuser(@requestbody user user)

public

user postuser2(@requestbody user user)

public

user postuser3(@requestbody user user)

}

4、開啟feign註解

@enablediscoveryclient

@enablefeignclients

//開啟feign支援

public

class

public

static

void

main(string args)

}

Feign 快速配置

org.springframework.cloudgroupid spring cloud starter hystrixartifactid dependency org.springframework.cloudgroupid spring cloud starter hystrix dashb...

快速使用Feign呼叫

必備知識 快速搭建eureka註冊中心 兩個服務 達到的效果 和正常建立普通服務一樣,但是需要向 eureka 註冊中心註冊服務,讓hello client 能夠找到該服務 enablediscoveryclient 註冊服務 相比普通的eureka client,僅僅增加了 enablefeign...

服務呼叫Feign入門

使用的resttemplate實現rest api呼叫,大致如下 public product order 由 可知,我們是使用拼接字串的方式構造url的,該url只有乙個引數。但是,在現實中,url中往往含有多個引數。這時候我們如果還用這種方式構造url,那麼就會非常痛苦。那應該如何解決?我們帶著...