当前位置: 首页 > 知识库问答 >
问题:

为什么Newtonsoft模式验证器不能识别OAS3 nullable属性?

罗业
2023-03-14
LoanAmount:
 type: number
 nullable: true 
  "LoanAmount": {
    "type": "number",
    "nullable": true
  },

当我使用jsonschemavalidator测试验证时,模式如下:

   {
      "title": "A JSON Schema for OpenAPI 3.0.",
      "id": "http://openapis.org/v3/schema.json#",   "$schema": 
      "http://json-schema.org/",   "type": "object",
      "properties": {
      "LoanAmount": {
      "type": "number",
      "nullable": true}
       }
    }

和输入如下:

{
  "LoanAmount" : null
}

验证失败

"LoanAmount": {
"type": ["number","null"]
}

共有1个答案

钦高峯
2023-03-14

OAS3使用JSON模式关键字的子集超集。

参见https://github.com/oai/openapi-specification/blob/master/versions/3.0.2.md#data-types

OAS中的原始数据类型基于JSON模式规范Wright Draft 00所支持的类型。注意,integer作为一种类型也受到支持,它被定义为一个没有分数或指数部分的JSON数字。不支持null作为类型(有关替代解决方案,请参见nullable)。模型是使用模式对象定义的,该对象是JSON模式规范Wright Draft 00的扩展子集。

 类似资料:
  • 我想验证只有当另外两个输入为空时才需要输入。所以我使用required_without_all验证规则。 根据Laravel 5.4文件要求,无需所有: 只有当所有其他指定字段都不存在时,验证中的字段才必须存在且不为空。 然而,我认为我不知道现在是什么意思,因为我认为这意味着输入必须被填充。 当我在用户名为空的情况下运行测试时,无论firstname和lastname输入是否为空,它都会返回以下错

  • 问题内容: Java SE 6项目是否支持eclipselink jpa2的标准api?如果没有,那是我的问题。我是否需要在persistence.xml中为条件api指定特殊的内容? 这是我的条件查询: 这是我的意思实体: 问题答案: 关于您的代码 我没有检查条件查询本身的正确性,但是,正如克里斯所提到的,您正在将静态元模型类与不会暴露您所要查找的混合在一起。假设已经生成了元模型类,请删除第一行

  • 对于这个程序,它要求用户输入他们的全名。然后,它通过在名字和姓氏之间的空格处将它们分开来排序名字和姓氏。但是,indexOf()无法识别空格并且只返回-1。为什么?谢谢。 以下是PracticeIt的提示: 编写一个名为process Name的方法,该方法接受控制台的Scanner作为参数,并提示用户输入他或她的全名,然后以相反的顺序打印名称(即姓氏、名字)。您可以假设只会给出名字和姓氏。您应该

  • 问题内容: 从JavaDoc: 验证此容器及其所有子组件。验证容器意味着布置其子组件。 那就是我想做的。使用尽可能轻巧的组件。但是当我这样做时,对的调用不会使组件“有效”。 为什么我不能做一个有效的? 问题答案: 在文档中说: 当组件在其父容器中的大小和位置正确且其所有子组件也均有效时,该组件才有效。 这种情况,直到你达到顶级容器(,或)。在您所遇到的问题的示例中,您没有父母,所以它永远不会有效。

  • 问题内容: Model.clean验证模型序列化器时,Django Rest Framework序列化器不会调用。给出的解释是,这导致了Django Rest Framework 3.0发行说明中的 “更清晰的关注点分离” : ModelSerializer验证和ModelForm之间的差异。 此更改还意味着我们不再.full_clean()在模型实例上使用该方法,而是在序列化程序上显式执行所有验

  • 有25种类型的空白。在下面的代码中显示,25种类型中有4种在Java中不被视为空白。为什么? 参考-https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/character.html#IsWhitespace(char)