I. Introducción
OpenFeign es una herramienta de llamada de cliente HTTP declarativa web que proporciona interfaces y anotaciones para la llamada.
La primera generación de SpringCloud adopta fingir y la segunda generación adopta openfeign.Función de
cliente de Openfeign: Es una herramienta de llamada remota de cliente Http declarativa web, y la capa inferior es encapsular la tecnología HttpClient.
Openfeign es desarrollado por SPringleCloud, mientras que fingir es un código de netflix escrito casi sin cambios.
Preste atención a la llamada falsa del cliente: si el parámetro de solicitud no está anotado, la solicitud de publicación se envía de forma predeterminada.
Openfeign admite el equilibrio de carga y la cinta de forma predeterminada.
Dos, ejemplo
1. Cliente
(1) dependencia de .maven
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
(2) .servicio
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) .controlador
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
El servidor proporciona una interfaz e inicia dos servicios para registrarse en el registro de nacos
(1) .controlador
@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 el servidor y el cliente.
4. Prueba
访问http: // localhost: 8090 / consumer / demo
Nota:
(1) Si la interfaz está conectada
(2) ¿El equilibrio de carga es fácil de usar?