В весеннем загрузочном проекте я пытаюсь привязать карту из файла yaml. Я пробовал большинство решений для привязки карты, но получаю следующую ошибку:
Property: order.events
Value: null
Reason: must not be empty
Action:
Update your application's configuration
Как вы можете видеть в классе конфигурации, у меня есть getter / setter через lombok, а внутренний класс является статическим классом.
@Data
@Validated
@ConfigurationProperties(prefix = "order", ignoreUnknownFields = false)
public class OrderConfig {
private String clientKey;
private String apiVersion;
private String endpoint;
@Valid
@NotEmpty
private Map<String, Event> events;
@Data
public static class Event {
@NotBlank
private String action;
@NotBlank
private String eventName;
}
}
Используя lombok, у меня уже есть все необходимые методы получения и установки. Мой файл конфигурации yaml:
order:
clientKey: client_1
apiVersion: 1.0.0
endpoint: https://www.ordertest.com/api
events:
order.create:
action: track
eventName: purchase
order.place:
action: track
eventName: purchase
И мой класс приложения:
@SpringBootApplication
@EnableConfigurationProperties(OrderConfig.class)
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}