OpenAPI 生成器:如何修复警告 o.o.codegen.DefaultCodegen - 值(生成器的选项)必须是布尔值或字符串。默认为“假”

问题描述 投票:0回答:1

我正在使用以下 OpenAPI 命令来使用 openapi-generator 生成客户端:

npx @openapitools/openapi-generator-cli generate -i api.yaml -g cpp-restsdk -o  %CD%

运行命令后为什么显示以下警告:

[main] WARN  o.o.codegen.DefaultCodegen - The value (generator's option) must be either boolean or string. Default to `false`.
openapi openapi-generator
1个回答
0
投票

不幸的是我没有给你完整的答案;但仅供参考 - 生成该消息的代码片段是here(Github)

public boolean convertPropertyToBoolean(String propertyKey) {
     final Object booleanValue = additionalProperties.get(propertyKey);
     boolean result = Boolean.FALSE;
     if (booleanValue instanceof Boolean) {
        result = (Boolean) booleanValue;
     } else if (booleanValue instanceof String) {
        result = Boolean.parseBoolean((String) booleanValue);
     } else {
        LOGGER.warn("The value (generator's option) must be either boolean or string. Default to `false`.");
     }
     return result;
}

当您尝试将不是字符串/布尔值的值转换为布尔值(可能是因为它未定义)时,您可以看到该消息出现。

我快速尝试了在角度代码生成器(here)中找到的手动声明选项,但无法缩小范围;引导我思考:

  1. 这是在通用生成代码的高层发生的转换(不是特定于打字稿角度的)
  2. 这不是我正在测试的配置属性处理中发生的转换(可能是其命令行参数等)

无论哪种方式,您都可以安全地忽略它,因为它只是一个警告,并且转换仍然会产生一个值(默认值:false)。如果它来自您未设置的选项,那么您可能会对默认值感到满意! 😆

© www.soinside.com 2019 - 2024. All rights reserved.