zoukankan      html  css  js  c++  java
  • Failed to bind properties under 'spring.cloud.gateway' to org.springframework.cloud.gateway.config.GatewayProperties:

    问题springcloud getway配置文件加载失败

    问题一

    Description:
    
    Failed to bind properties under 'spring.cloud.gateway' to org.springframework.cloud.gateway.config.GatewayProperties:
    
        Reason: HV000083: The specified annotation javax.validation.constraints.NotNull defines no attribute 'groups'.
    
    Action:
    
    Update your application's configuration
    

    问题二

    Failed to bind properties under 'spring.cloud.gateway.routes[0].filters[0]' to org.springframework.cloud.gateway.filter.FilterDefinition:
    
        Property: spring.cloud.gateway.routes[0].filters[0]
        Value: StripPrefix=1
        Origin: class path resource [application.yml]:19:15
        Reason: HV000083: The specified annotation javax.validation.constraints.NotNull defines no attribute 'groups'.
    
    Action:
    
    Update your application's configuration
    

    application.yml

    server:
      port: 9527
    
    spring:
      application:
        name: getway-server
      cloud:
        gateway:
    #      discovery:
    #        locator:
    #          enabled: true
          routes:
            - id: author-server
              uri: https://localhost:8888 #转发后的地址
              predicates:
                - Path=/author/**
              filters:
                - StripPrefix=1
    #eureka:
    #  client:
    #    serviceUrl: #注册服务到eureka集群
    #      defaultZone: http://eureka8761.com:8761/eureka,http://eureka8762.com:8762/eureka,http://eureka8763.com:8763/eureka
    #  instance:
    #    instance-id: ${spring.application.name}:${server.port}
    #    prefer-ip-address: true     #访问路径可以显示IP地址
    

    原因

    1、配置文件名称不对
    应为application.yml

    2、依赖导入有问题
    getway自动配置源码
    GatewayAutoConfiguration.java

    @Configuration(proxyBeanMethods = false)
    	@ConditionalOnClass(Health.class)
    	protected static class GatewayActuatorConfiguration {
    
    		@Bean
    		@ConditionalOnProperty(name = "spring.cloud.gateway.actuator.verbose.enabled",
    				matchIfMissing = true)//默认为true
    		@ConditionalOnAvailableEndpoint
    		public GatewayControllerEndpoint gatewayControllerEndpoint(
    				List<GlobalFilter> globalFilters,
    				List<GatewayFilterFactory> gatewayFilters,
    				List<RoutePredicateFactory> routePredicates,
    				RouteDefinitionWriter routeDefinitionWriter, RouteLocator routeLocator) {
    			return new GatewayControllerEndpoint(globalFilters, gatewayFilters,
    					routePredicates, routeDefinitionWriter, routeLocator);
    		}
    
    		@Bean
    		@Conditional(OnVerboseDisabledCondition.class)
    		@ConditionalOnAvailableEndpoint
    		public GatewayLegacyControllerEndpoint gatewayLegacyControllerEndpoint(
    				RouteDefinitionLocator routeDefinitionLocator,
    				List<GlobalFilter> globalFilters,
    				List<GatewayFilterFactory> gatewayFilters,
    				List<RoutePredicateFactory> routePredicates,
    				RouteDefinitionWriter routeDefinitionWriter, RouteLocator routeLocator) {
    			return new GatewayLegacyControllerEndpoint(routeDefinitionLocator,
    					globalFilters, gatewayFilters, routePredicates, routeDefinitionWriter,
    					routeLocator);
    		}
    
    	}
    

    默认开启getway执行器配置。但没有导入相应的依赖。

    pom.xml

        <dependencies>
            <!--gateway 网关依赖,内置webflux 依赖 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-gateway</artifactId>
            </dependency>
        </dependencies>
    

    需导入spring-boot-starter-actuator
    pom.xml

        <dependencies>
            <!--gateway 网关依赖,内置webflux 依赖 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-gateway</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
        </dependencies>
    

    执行成功

    测试一下是否转发成功
    正常访问

    使用getway转发

  • 相关阅读:
    重新想象 Windows 8 Store Apps (32) 加密解密: 非对称算法, 数据转换的辅助类
    《C#编程极限》目录
    《软件设计精要与模式》完稿(原名《软件设计之道》)
    《软件设计之道》正式更名为《软件设计精要与模式》
    《软件设计精要与模式》各篇之篇首语
    Visual Studio 2005单元测试中关于外部文件的问题解决
    Web Service Software Factory
    Windows下IIS+PHP 5.2的安装与配置
    规划你的C#程序——《C#编程极限》第一章
    《软件设计精要与模式》前言
  • 原文地址:https://www.cnblogs.com/jinit/p/13124199.html
Copyright © 2011-2022 走看看