美文网首页
@FeignClient RequestParam.value(

@FeignClient RequestParam.value(

作者: 不务正业的coder | 来源:发表于2020-11-19 10:59 被阅读0次

定义Feign接口时,注意要在方法参数中加入 value="xxx"属性,否则创建bean实例时会失败,导致应用无法启动。

需留意的是,Controller层的方法不一定要加入value="xxx",而开发有时直接将controller代码复制到feign,导致出现问题。

Map<String, Object> getBeansWithAnnotation(Class<? extends Annotation> annotationType) throws BeansException.

可以替换为下面方式,避免所有所有报异常。

String[] beanNames= applicationContext.getBeanNamesForAnnotation((Class<? extends Annotation>) Class

        .forName("org.springframework.cloud.openfeign.FeignClient"));

Map<String, Object> beans= new LinkedHashMap<>(beanNames.length);

for (String beanName: beanNames) {

    try {

        beans.put(beanName, applicationContext.getBean(beanName));

    } catch (BeansException e) {

        log.warn("FeignDependency getBean error, beanName={}", beanName, e);

}

}

相关文章

网友评论

      本文标题:@FeignClient RequestParam.value(

      本文链接:https://www.haomeiwen.com/subject/cmekiktx.html