MicroProfile 的配置:如何注入自定义对象列表

Configuration for MicroProfile: how inject list of custom object

我正在尝试在 quarkus 中注入对象列表,但收到错误消息“没有为 class ExternalApiParam 注册转换器”。

我的 yaml 是:

custom:
  external-api-list:
    - name: example-1
      uri: https://run.mocky.io/v3/55402172-82c3
    - name: example-2
      uri: https://run.mocky.io/v3/13417375-a19c

我的配置 class 是:

@ConfigProperties(prefix = "custom")
@Data
public class ExternalApiConfigProperties {

    List<ExternalApiParam> externalApiList;
}

我做错了什么?

您需要提供一个 Config Converter class,它可以读取配置值并将其转换为您的对象。

请在此处查看示例: https://github.com/smallrye/smallrye-config/blob/master/sources/yaml/src/test/java/io/smallrye/config/source/yaml/YamlConfigSourceTest.java#L141-L153

以及转换器的使用方法: https://quarkus.io/guides/config#custom-configuration-converters