Notas de estudo SpringCloudAlibaba: cliente OpenFeign

I. Introdução

OpenFeign é uma ferramenta de chamada de cliente Http declarativa da web que fornece interfaces e anotações para chamada.
A primeira geração do SpringCloud adota feign e a segunda geração adota openfeign
Função de cliente Openfeign: É uma ferramenta de chamada remota de cliente Http declarativa da web, e a camada inferior é para encapsular a tecnologia HttpClient.
Openfeign é desenvolvido pela própria SPringleCloud, enquanto feign é um código netflix escrito quase inalterado.
Preste atenção à simulação de chamada do cliente: se o parâmetro da solicitação não estiver anotado, a solicitação de postagem é enviada por padrão.
Openfeign oferece suporte a balanceamento de carga e fita por padrão.

Dois, exemplo

1. Cliente

(1) dependência de .maven

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

(2) .service

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;

@FeignClient(name = "alibaba-provider")
public interface FeignDemoService {

    //provider配置了路径server.servlet.context-path=/provider,所以要添加 provider
    @RequestMapping("/provider/demo")
    public String test();
    
}

(3) .controller

import com.asyf.demo.feignservice.FeignDemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping(value = "/")
public class DemoController {

    @Autowired
    private FeignDemoService feignDemoService;

    @RequestMapping(value = "/demo")
    public String test() {
        return "consumer:" + feignDemoService.test();
    }

}

2. Servidor

O servidor fornece uma interface e inicia dois serviços para se registrar no registro do Nacos

(1) .controller

@Value("${server.port}")
private Integer port;
    
@RequestMapping(value = "/demo", method = RequestMethod.GET)
public String test() {
    System.out.println(test.length());
    return "abc" + " - port:" + port;
}

3. Inicie o servidor e o cliente

4. Teste

访问http: // localhost: 8090 / consumer / demo

Nota:

(1) Se a interface está conectada

(2) O balanceamento de carga é fácil de usar

Acho que você gosta

Origin blog.csdn.net/cs373616511/article/details/112438897
Recomendado
Clasificación