首页 > 解决方案 > OpenAPI 生成的 R 枚举有问题并且似乎什么都不包含

问题描述

我正在尝试通过通常运行良好的 OpenAPI Generator 创建 R 代码;现在我意识到枚举实际上存在问题。当尝试对这些类进行 source() 时,我得到一个错误“错误值”,在检查时这是有道理的 - 这是生成的代码:

#' EnumTest Class
#'
#'
#' @importFrom R6 R6Class
#' @importFrom jsonlite fromJSON toJSON
#' @export
EnumTest <- R6::R6Class(
  'EnumTest',
  public = list(
    initialize = function(, ...){# <-- here is the issue imo (the comma)
      local.optional.var <- list(...)
    },
    toJSON = function() {
      EnumTestObject <- list()

      EnumTestObject
    },
    fromJSON = function(EnumTestJson) {
      EnumTestObject <- jsonlite::fromJSON(EnumTestJson)
    },
    toJSONString = function() {
      sprintf(
        '{
        }',
      )
    },
    fromJSONString = function(EnumTestJson) {
      EnumTestObject <- jsonlite::fromJSON(EnumTestJson)
      self
    }
  )
)

问题是第 10 行中的逗号,我认为:编写类似的东西function(test, ...)可以让我毫无错误地阅读课程。

然而,问题仍然存在:我看不出有任何理由为什么这段代码会做任何枚举会做的事情,并且实际上打印 egprint(EnumTest$new("enum-value"))表明我的实际值无处可寻,并且$self也如预期的那样为 NULL。


生成的代码从一开始就出错了吗?还是我错过了什么?

编辑:

我的 OpenAPI JSON Schema 中的条目如下,如果有帮助的话:

"EnumTest": {
    "enum": [
      "One",
      "Two",
      "Three"
    ],
    "type": "string"
  }`

标签: renumsopenapiopenapi-generatorr6

解决方案


推荐阅读