[Spring-Cloud-Gateway] 启动网关服务时报:"org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here"
1 问题描述
spring-cloud-gateway
网关服务的关键配置信息
配置信息
# ...
spring:
cloud:
loadbalancer:
ribbon: # 使用 ReactiveLoadBalancerClient 时通过本参数禁用调 ribbon
enabled: false
gateway:
actuator:
verbose:
enabled: true
httpclient:
max-header-size: 65565
discovery:
locator:
# 是否和服务注册与发现组件结合,设置为 true 后可以直接使用应用名称调用服务 / true: 开启自动路由,以服务id建立路由,服务id默认大写
enabled: true
# 服务id 设置为小写
lower-case-service-id: false
routes:
#- id: data2api-proxy-facade-route
# predicates:
# - Path=/bdp/public/api/V1/data2api/**
# uri: lb://bdp-gateway-service
# filters:
# - StripPrefix=5
# - PrefixPath=/bdp/public/api/V1/bdp-gateway-service/data2api/
#- id: baidu-route
# predicates:
# - Path=/baidu/s
# filters:
# - StripPrefix=1
# uri: https://baidu.com
#- id: data-service-swagger-route
# predicates: Path=/swagger/data-service/**
# uri: http://127.0.0.1:18200
# filters:
# - StripPrefix=2
#- id: test-route
# uri: http://localhost:18100
# predicates:
# - Path=/mbasic/{number}/**
# filter:
# - AddRequestHeader=x-request-test, Blue-{number}
# - AccessLog
# - AccessLogGatewayFilterFactory
# - name: AccessLog
# args:
# value: data-service-swagger-bootstrap-ui1
# - name: AccessLogGatewayFilterFactory
# args:
# value: data-service-swagger-bootstrap-ui2
#- id: data-service-route
## uri: lb://bdp-data-service
# predicates:
# - Path=/bdp/public/api/{api-version}/data2api/**
# filters:
# 统一(通用)数据执行服务
# 1) 服务原始地址 : http://xx.xx.xx.xx:pppp/data-executor-service/V1/execute/executeTask/{task-service-uri}/{version}
# 2) 代理后开放地址 : http(s)://bdp-gateway-service-uri/data-executor-service/V1/execute/executeTask/{task-service-uri}/{version}
- id: bdp-data-executor-service
uri: lb://bdp-data-executor-service
predicates:
- Path=/data-executor-service/**
filters:
- StripPrefix=0
default-filters:
# ...
- 启动网关服务时报错:
...
org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here
in 'reader', line 69, column 14:
uri: lb://bdp-data-executor-service
^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:870) ~[snakeyaml-1.26.jar!/:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:358) ~[snakeyaml-1.26.jar!/:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:227) ~[snakeyaml-1.26.jar!/:?]
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:558) ~[snakeyaml-1.26.jar!/:?]
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:158) ~[snakeyaml-1.26.jar!/:?]
...
2 问题分析 & 解决方法
-
配置映射不允许在这,需要对齐
-
yml文件的格式要正确:
- 每个冒号的后面要紧跟空格(13行在id:加一个空格即可)
- 每个缩进相对于上一级,需要缩进2个空格 (本次错误的直接原因)
- 一个正确的demo
from 网友
X 参考文献
本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!