给定应用程序YAML中的属性
acme:
cloud:
platform:
incoming:
webhook:
headers:
gitlab: X-Gitlab-Token
我已经添加了一个配置属性Bean
@ConfigurationProperties(prefix = "acme.cloud.platform.incoming.webhook")
public class WebhooksConsumerTokenHeadersProperties {
private final Map<String, String> headers;
public WebhooksConsumerTokenHeadersProperties(Map<String, String> headers) {
this.headers = headers;
}
public String getTokenHeaderName(String app) {
return headers.get(app);
}
}
getTokenHeaderName("gitlab")
方法返回NULL。
1条答案
按热度按时间uujelgoq1#
执行下列操作之一,而不是通过构造函数参数设置
headers
:1.在无参数构造函数或声明(
private Map<String, String> headers = new HashMap<>();
)中初始化它1.为其创建setter方法。
您可能还需要一个getter方法
getHeaders()
;如果您选择上面的选项#1,Spring将特别使用该方法。通常,类型安全的配置属性对象需要是具有默认构造函数和每个属性的有效setter/getter方法的有效Java Bean。有关更多详细信息,请参阅Spring文档。