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

  • 相关阅读:
    Oracle函数如何把符串装换为小写的格式
    Oralce中的synonym同义词
    JS中getYear()的兼容问题
    How to do SSH Tunneling (Port Forwarding)
    所谓深度链接(Deep linking)
    upload size of asp.net
    发一个自动刷网站PV流量的小工具
    解决Visual Studio 2008 下,打开.dbml(LINQ) 文件时,提示"The operation could not be completed." 的问题。
    在资源管理器中使鼠标右键增加一个命令,运行cmd,同时使得当前路径为资源管理器当前的目录
    使用SQL语句获取Sql Server数据库的版本
  • 原文地址:https://www.cnblogs.com/jinit/p/13124199.html
Copyright © 2011-2022 走看看