SpringCloudGateway遇到的坑

1. 启动报错: No qualifying bean of type 'org.springframework.core.convert.ConversionService

原因:
这个异常是因为spring cloud gateway 是webflux 项目,引了含有 springMCV的依赖就会出现冲突, 比如: swagger2, spring-boot-starter-web等

解决方法:
排除相关依赖

<exclusions>
    <exclusion>
        <groupId>com.cnostar.cloud</groupId>
        <artifactId>cnocloud-commons-swagger2</artifactId>
    </exclusion>
</exclusions>

或者

<exclusions>
    <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </exclusion>
</exclusions>

2.当一个接口上同时拥有@RequestMapping和@FeignClient注解时, 请求报错

@RequestMapping("/user/admin")
@FeignClient(ServiceNameConstants.USER_ADMIN_SERVICE)
public interface IUserAdminAuthApi {
	...
}

问题:
当一个接口上同时拥有@RequestMapping和@FeignClient注解时, 请求会报异常

解决方法:
把@RequestMapping放到方法上

3. 结合openFeign使用时, 请求报:feign.codec.DecodeException: No qualifying bean of type ‘org.springframework.boot.autoconfigure.http.HttpMessageConverters’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

原因1:
提示找不到HttpMessageConverters, 之前还可以, 不知道为什么突然就报这个错, 怀疑可能是注入顺序导致的
在这里插入图片描述
解决方法:
手动交给spring一个解码器

@Configuration
public class FeignConfig {

    /**
     * gateway使用feign请求的时候报HttpMessageConverters未注入异常,
     * 自行配置一个Decoder, 避免该异常
     */
    @Bean
    public Decoder feignDecoder() {
        final HttpMessageConverters httpMessageConverters = new HttpMessageConverters(new MappingJackson2HttpMessageConverter());
        return new ResponseEntityDecoder(new SpringDecoder(() -> httpMessageConverters));
    }
}

**原因2: **
在接口中, Get请求的参数中没有加@RequestParam(“参数名”)
在这里插入图片描述
解决方法
加上@RequestParam(“参数名”)
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值