我正在将我的应用程序从Spring Boot 1.5迁移到2.0,并且其中一个YAML属性不再正确加载。以下配置代码段:
myapp
serviceUrls:
'https://example.org/test': 'https://test.example.org/Endpoint'
映射到此配置类:
@ConfigurationProperties(prefix = "myapp", ignoreUnknownFields = false)
public final class MyAppProperties {
private Map<String, String> serviceUrls = new HashMap<>();
//[...]
}
https://example.org/test
- &gt;的地图https://test.example.org/Endpoint
; httpsexample.orgtest
- &gt;中消失。 https://test.example.org/Endpoint
。我在migration guide中找不到任何提及。 Spring Boot 2中的YAML解析是否已更改?有没有更好的方法来编写带有URL作为键的YAML地图?
答案 0 :(得分:7)
我应该检查GitHub问题......有人报告a similar problem。解决方案是使用&#34;括号语法&#34;,遗憾的是barely documented,将键包装在括号内:
myapp
serviceUrls:
'[https://example.org/test]': 'https://test.example.org/Endpoint'