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转发

  • 相关阅读:
    第四次实验报告
    第三次实验报告
    第五章 循环结构课后反思
    第二次实验报告
    第一次实验报告
    第一次作业
    第九章实验报告(构造数据类型)
    第八章实验报告(指针实验)
    第七章实验报告(数组实验)
    第六章 函数和宏定义实验(2)
  • 原文地址:https://www.cnblogs.com/jinit/p/13124199.html
Copyright © 2011-2022 走看看