我可以在 JSON 架构中设置准确的值吗?

Can I set exact value in a JSON Schema?

我使用 JSON Schema 根据某些模式验证应用程序对象以进行测试。

我发现我可以为 属性:

设置 minimummaximum
"responseCode": {
        "type": "integer",
        "minimum": 100,
        "maximum": 500
    }

但我找不到是否可以设置一个确切的所需值,例如 "value":123

是否可以将其设置为我需要验证的内容?

您可以:

{ "enum": [123] }

{ "const": 123 }

const 现在是 JSON schema specification (it is supported by Ajv 和其他一些验证者的 draft-06 的一部分。

如果有人想知道如何指定字符串值而不是数字,尤其是在使用 JSON Schema Draft-04 的 AWS API 网关中,您可以使用正则表达式:

{
    "type": "string",
    "pattern": "MyStringOrOtherRegex"
}

https://datatracker.ietf.org/doc/html/draft-fge-json-schema-validation-00#section-3.3

已经提到,但我知道的 2 个选项是:

{ "enum": [123] }

{ "const": 123 }

我的来源是: https://json-schema.org/understanding-json-schema/reference/generic.html

继续努力!