我的 application.yml 具有不同的属性,如下所示。
lists:
exampleList: [1,2,3]
exampleString: abcde
another:
example1: exam1
example2: exam2
我正在使用 @ConfigurationProperties 将这些属性绑定到 Spring 组件
@Data
@Component
@ConfigurationProperties
public class ExampleConfig {
private Map<String,Object> lists;
}
我将在 spring-boot 控制器中注入这个组件并将这个配置绑定到一个 get configs 端点 /controller/config
当这个端点被调用时,期望是返回
{
"lists": {
"exampleList": ["1", "2", "3"],
"exampleString": "abcde"
"another": {
"example1": "exam1",
"example2": "exam2"
}
}
}
相反,它返回响应,如下所示
{
"lists": {
"exampleList": {
"0" : "1",
"1" : "2",
"2" : "3"
}
"exampleString": "abcde"
"another": {
"example1": "exam1",
"example2": "exam2"
}
}
}
yml 中的列表正在映射到 Map 中的对象。我们如何才能实现对各自数据类型的正确绑定?
感谢你的帮助!