首页 > 解决方案 > 将 yaml 配置映射到 java hashmap

问题描述

我的yaml中有以下内容

endpointWithType: {abc: 'POST', def: 'GET'}  

我将它映射到我的spring bean中,如下所示,

@Value("#{'${endpointWithType}'}")
Map<String,String> endpointWithType;

我得到以下错误,

无法将类型 [java.lang.String] 的值转换为所需类型 [java.util.Map]:找不到匹配的编辑器或转换策略

如何将配置映射表示映射到 java hashmap?

标签: javaspringyaml

解决方案


在 yaml 中尝试以这种方式对其进行格式化:

endpointWithType:
  abc: POST
  def: GET

或者试试这种方式:

endpointWithType: '{abc: "POST", def: "GET"}'  
@Value("#{${endpointWithType}}")
private Map<String, String> endpointWithType;

推荐阅读