使用 viper 验证配置文件
Validating configurations files with viper
我一直在寻找 go 的配置解析器,https://github.com/spf13/viper 似乎是强烈推荐的。
我很惊讶地发现默认情况下不验证配置文件。
Viper 解析文件并从中提取请求的值,但我找不到检测错误配置的方法。
例如,我创建了一个(Java 样式).properties 文件,其中只包含“???”没有别的。这被接受没有任何错误。
我能理解你应该忽略无关配置项的理念,但我希望更严谨。我还想拒绝任何与属性文件中的 X=Y 格式不匹配的内容。
对我来说,这是一个致命的缺陷,建议我应该使用不同的包(或者像往常一样使用我自己的包)。
我是不是漏掉了什么? viper 实际上支持检测和拒绝错误的配置密钥吗?
我认为答案是否定的。 viper 不验证 java .properties 文件。
我发布了错误报告(或功能请求,具体取决于您的观点)https://github.com/spf13/viper/issues/790
你可以试试https://github.com/num30/config library which is based on Viper. It has built-in validation.
我一直在寻找 go 的配置解析器,https://github.com/spf13/viper 似乎是强烈推荐的。
我很惊讶地发现默认情况下不验证配置文件。 Viper 解析文件并从中提取请求的值,但我找不到检测错误配置的方法。
例如,我创建了一个(Java 样式).properties 文件,其中只包含“???”没有别的。这被接受没有任何错误。
我能理解你应该忽略无关配置项的理念,但我希望更严谨。我还想拒绝任何与属性文件中的 X=Y 格式不匹配的内容。
对我来说,这是一个致命的缺陷,建议我应该使用不同的包(或者像往常一样使用我自己的包)。
我是不是漏掉了什么? viper 实际上支持检测和拒绝错误的配置密钥吗?
我认为答案是否定的。 viper 不验证 java .properties 文件。 我发布了错误报告(或功能请求,具体取决于您的观点)https://github.com/spf13/viper/issues/790
你可以试试https://github.com/num30/config library which is based on Viper. It has built-in validation.