美文网首页
@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