Visão geral
No artigo da Spring Cloud Eureka Ribbon Service Registration-Discovery-Call, uma breve introdução a como usar Eureka e Ribbon em Spring Cloud. O artigo usa RestTemplate para acessar outras interfaces de microsserviço RESTful. De fato, em Spring Cloud, você também pode usar o Feign para acessar outras interfaces de microsserviço RESTful. É mais conciso e claro de usar.
Feign integrado
Altere a configuração do POM do Serviço de Ordem no Spring Cloud Eureka Ribbon Service Registration-Discovery-Call Call e apenas apresente Fegin.
<Depencency> <voundId> org.springframework.cloud </groupid> <stifactId> Spring-cloud-starter-feign </stutifactId> </dependency>
Modifique a classe OrderApplication e exclua o seguinte código:
@Bean @loadBalanced RestTemplate RestTemplate () {return new Resttemplate (); }E adicione a anotação @enableFeignClients. O código completo é o seguinte:
pacote com.springboot; importar org.springframework.boot.springApplication; importar org.springframework.boot.autoconfigure.springbootapplication; importação org.springframework.cloud.client.discovery.enabilabediscoverclient; org.springframework.cloud.netflix.feign.enableFeignCliients;@Hablediscoveryclient@EnableFeignCliients@SpringBoOTApplicationPublic Classe OrderApplication {public static void main (string [] args) {springApplication.run (ordem de aplicativo.class,, args [] args) {springApplication.run (ordem de aplicativo.class,, args [] args) {springApplication.run (ordem. }}Adicionado o Userservice da Interface e use a anotação @FeignClient.
pacote com.springboot; importar org.springframework.cloud.netflix.feign.feignClient; importar org.springframework.web.bind.annotation.getMapping; @feignient (name = "user") public interface {@GetMapping (value = "/"/getser ")O nome = usuário em @feignClient (name = "user") aqui significa que você deseja acessar o microsserviço do usuário. Como o microsserviço de ordem integrou Eureka e Ribbon. Então, ao usar @FeignClient (name = "User") para acessar o microsserviço do usuário, o roteamento do cliente foi suportado automaticamente. E o usuário do micro serviço será encontrado no registro.
Modifique o OrderController e injete o UserService.
pacote com.springboot; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.web.bind.annotation.getMapping; @ERG. UserService; @GetMapping ("/getOrderUser") public String getOrderUser () {return userservice.getUser (); }}Dessa forma, não há necessidade de usá -lo
RestTemplate.getForentity ("http: // user/getUser", string.class) .getbody ();Para chamar a interface getUser no serviço do usuário. Em vez disso, basta usar o userService.getUser ().
Inicie o centro de registro e os dois micro serviços de usuário e pedido. Use http: // localhost: 8883/getOrderUser
Visite. Sim, você pode voltar
Eu sou uma lista de usuários.
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.