【问题标题】:Documentation based on JSON Schema基于 JSON Schema 的文档
【发布时间】:2021-10-05 19:39:59
【问题描述】:

我想使用我的 JSON 模式来生成文档。

在下面的示例中,我想以 JSON 格式列出我的输出消息中可用的所有 ErrorNumber/ErrorMessage 组合。

但我在对象级别找不到方法,我尝试使用“示例”或“枚举”失败了。

有人有解决办法吗?

{
    "type": "object",
    "required": [
        "ErrorNumber",
        "ErrorMessage"
    ],
    "properties": {
        "ErrorNumber": {
            "$id": "#root/ErrorNumber", 
            "type": "integer"
        },
        "ErrorMessage": {
            "$id": "#root/ErrorMessage", 
            "type": "string"
        }
    }
}

【问题讨论】:

    标签: json documentation jsonschema


    【解决方案1】:
    1. 您的意思是在示例中使用"$id" 的地方写"$ref"

    2. enum 的问题到底在哪里?以下对我来说适用于 draft-2020-12 验证器(并且在删除您的“$id”之后!):

    {
      // ... your JSON here ...
      "enum": [
        {"ErrorNumber": 200, "ErrorMessage": "OK"},
        {"ErrorNumber": 404, "ErrorMessage": "Not found."}
        // ...
      ]
    }
    
    1. 不同的方法,以防您仍然可以更改:

    如果您的错误编号从 0 开始并且是连续的,那么消息数组可能会达到您的目的。

    或者,带有数字键的对象可能:

    {
      "200": "OK",
      "404": "Not found."
    }
    

    【讨论】:

      猜你喜欢
      • 2017-11-11
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-07
      相关资源
      最近更新 更多