es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error al crear el cliente Feign en la autoconfiguración de Spring Boot.

Me gustaría crear una autoconfiguración personalizada en una biblioteca externa que es una interfaz cliente de Feign. Pero cuando apunto a la autoconfiguración mediante:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.hello.world.MyFeginClient

Cuando construyo mi SpringBoot, no puedo inicializar el servicio.
Error al instanciar: la clase especificada es una interfaz.

Si quiero poner mi cliente Feign en mi autoconfiguración, ¿qué debo hacer? Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para incluir una interfaz de cliente Feign en una autoconfiguración personalizada en una biblioteca externa, debes seguir estos pasos:

    1. Crea una clase de configuración (por ejemplo, MyFeignClientConfiguration) en tu biblioteca y anótala con @Configuration.
    2. En esta clase de configuración, crea un método que devuelva una instancia de tu interfaz de cliente Feign (por ejemplo, myFeignClient()) y anótalo con @Bean.

    3. Usa @EnableFeignClients(basePackages = "com.package.with.my.feign.client") para habilitar los clientes Feign que apunten a tu biblioteca.

    4. En tu aplicación Spring Boot, incluye tu clase de configuración personalizada en la lista de configuraciones a cargar, anotando tu clase principal con @SpringBootApplication(scanBasePackages = { "com.package.with.my.config", "com.package.with.my.feign.client" }).

    5. En tu archivo application.yml o application.properties, configura el cliente Feign para usar tu interfaz de cliente Feign personalizada:

    myfeignclient:
      url: http://localhost:8080
    
    1. En tu código, inyecta la interfaz de cliente Feign para usarla:
    @Autowired
    private MyFeignClient myFeignClient;
    

    Siguiendo estos pasos, tu interfaz de cliente Feign personalizada debería inicializarse correctamente y estar lista para usar.

Comments are closed.