SpringCloud装う使用
- SpringCloudバージョン:Hoxton.RELEASE
装うの春クラウド- 。JMCui -ブログパーク
@FeignClient引数は詳細な
- 導入Mavenの依存性
- 配置装う、@EnableFeignClients
- インタフェースの宣言
1.依存のMaven導入し
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2. [設定装います
SpringBootApplicationの場所にマークノート、 @EnableFeingClients
3.インタフェース宣言
免責事項の構成装うインターフェイス、簡単な例
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* feign声明
* @author suwenguang
**/
@FeignClient(value = "test-user-provider-service")
public interface FeignUserService {
@RequestMapping("/user/get")
String get();
}
インタフェース宣言は含まれますが、次のセクションに限定されるものではなく
、パス文の3.1
3.2パラメータ宣言
3.3戻る宣言
春クラウドOpenFeign
3.1パスステートメント
3.1.1。内部サービスレジストリコール
3.1.2コール外部インターフェース
3.1.1。内部コールサービスレジストリ
- サービス名、指定されたレジストリにより、
@FeignClient(value="xxx-service")
例:
@FeignClient(value = "test-user-provider-service")
public interface FeignUserService {
@RequestMapping("/user/get")
String get();
}
外部インタフェースを呼び出す3.1.2
限り、HTTP要求は基本的に満たしているとして、それはマイクロサービスコールとして使用することができないだけで装います
- 指定されたURLとの完全なアドレス
例:
@FeignClient(url = "192.168.9.233:19192/ttc",name = "commision-service")
public interface FeignCommisionService {
@RequestMapping(method = RequestMethod.GET,value = "/health/get")
Object health();
}
3.2パラメータ宣言
内部要求のために、我々は一般的に要求パラメータJSON形式に限定されるものではなく、単にHTTPリクエストのJSON
ここでの唯一の方法のJSON
主な注意事項:
@RequestBody
@RequestParam
@PathVariable
フォーマットは、対応するインターフェイスJSON形式により受信された場合、単にシリアライズJSON使用してオブジェクトを渡して、オブジェクトに対応する@RequestBody
シリアル化し、使用することができる@RequestParam
データを指定します
装う要求構文マルチパラメータの使い方|周さんのブログ - フォーカスドッカー春クラウド、
例:
@FeignClient(name = "microservice-provider-user")
public interface UserFeignClient {
@RequestMapping(value = "/get", method = RequestMethod.GET)
public User get1(@RequestParam("id") Long id, @RequestParam("username") String username);
}
ファイルパラメータで装うためにどのように?
私は、Fileオブジェクトを渡すことができ、restTemplateでmultipartFormを指定できるようにするために使用されますので作り方を装う
春クラウドOpenFeignを
使用@SpringQueryMap
のサポート
例:
@FeignClient("demo")
public interface DemoTemplate {
@GetMapping(path = "/demo")
String demoEndpoint(@SpringQueryMap Params params);
}
3.3 return文
実際には、あなただけ受け入れるためにオブジェクトを使用しています。することができ
、受信側オブジェクトへの統一体が戻ると直接的または。コール両側が言葉の同意を調整する場合。
設定4.装います
- グローバルコンフィギュレーション
- アローン構成
公式サイトをチェック春クラウドOpenFeignを
回路遮断器構成Hystrix
ホクストンのhystrixブレーカーは、スイッチhystrixを設定するには、設定ファイルを使用して、統合しました
グローバルコンフィギュレーションは、分離して配置することができることができます