Introdução ao Feign
O Feign é um cliente de serviço da web declarado, o que facilita a gravação de um cliente de serviço da web. Use Feign para criar uma interface e anotá -la. Possui suporte de anotação reprodutiva, incluindo anotação FEIGN e anotação JAX-RS. O Feign também suporta codificador e decodificador emplacáveis. A Spring Cloud adiciona anotação ao MVC da primavera. A Spring Web usa o HttpMessAgeconverters por padrão, e o Spring Cloud integra o Feign do cliente HTTP equilibrado de carga fornecido por Ribbon e Eureka.
Cliente de repouso declarativo: Feign
Primeiro, comece o projeto Eureka_register_service (Centro de Registro) e Projeto Biz-Service-0 (Produtor de Serviços)
Crie um projeto maven eureka_feign_client
pom.xml
<Dor> <PuerpId> org.springframework.boot </frugiD> <TRATIFACTID> Spring-boot-starter-parent </ArtifactId> <Versão> 1.4.3.Release </siERSE> <RelityPath/> <!-Lookup Parent from Repository -> </aporel> <Properties> <Project.build.sourceEncoding> utf-8 </project.build.sourceEncoding> <nava.version> 1.8 </java.version> </properties> <spendencies> <Pendency> <purbring> org.springframework.cloud <TRARFACTID> Spring-Cloud-Starter-FEIGN </starfactId> </dependency> <pendence> <puperid> org.springframework.cloud </foupiD> <stifactId> Spring-cloud-starter-eureka </stifactId> </dependência> <Prengid> <vourgid> ourg.springfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfringfring. </ArtifactId> Spring-Boot-Starter-Web </ArtifactId> </Dependency> <pendency> <puperid> org.springframework.boot </foupid> <stifactId> Spring-Boot-Starter-Test </stifactId> <Cope> Test </scope> </dependência> </dependências> </dependências> </dependências <PuerpId> org.springframework.cloud </frupiD> <ArtifactId> Dependências de primavera-cloud </stutifactId> <Version> Brixton.sr5 </siperS> </type> pom </type> <cope> importação </cope> </ipendency> </dependências> </dependence> Gerenciamento>
Ativar função fingida por meio da anotação @enableFeigncliients na classe de aplicativo principal
Inicie o arquivo FeignApplication.java
@SpringboOTApplication@Enablediscoveryclient@EnableFeignClientsPublic Classe FeignApplication {public static void main (string [] args) {springapplication.run (fteignApplication.class, args); }}Defina a classe de interface de serviço userClient.java
Use a anotação @FeignClient ("Biz-Service-0") para vincular o serviço correspondente do Biz-Service-0 desta interface
@FeignClient ("Biz-Service-0") Interface pública UserClient {@RequestMapping (Method = requestMethod.get, value = "/getUser") User Public getUserinfo (); @RequestMapping (Method = requestMethod.get, value = "/getUser") public string getUserinfostr (); @RequestMapping (Method = requestMethod.get, value = "/info") public string info ();}Ligue para o UserController definido acima na camada da web, como segue
@RestControllerPublic Classe UserController {@AUTOWIRED UserClient UserClient; @RequestMapping (value = "/getUserinfo", método = requestMethod.get) usuário público getUserinfo () {return userClient.getUserinfo (); } @ReQuestMapp (value = "/getUserinfostr", métod = requestMethod.get) public string getUserinfostr () {return userClient.getUserinfostr (); } @ReQuestMapping (value = "/info", método = requestMethod.get) public string info () {return userClient.info (); }} Variáveis de configuração do Application.Properties
spring.application.name = Feign-consumerServer.port = 8004eureka.client.serviceurl.DefaultZone = http: // localhost: 8000/eureka/
Visite http://127.0.0.1:8004/getUserinfo
Resumir:
De fato, o método de serviço de chamada HTTP é encapsulado através do Feign, para que o cliente chama o método diretamente como chamar um método local. Semelhante à maneira de expor serviços remotos em Dubbo, a diferença é que o Dubbo é baseado em um protocolo binário privado, enquanto o Feign é essencialmente um cliente HTTP.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.