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

不允许附加属性:nullable swagger

宗政天逸
2023-03-14

我使用的是与node.js快递4.12.3和mysql db招摇过市2.0。

我创建了以下模式-

  Country:
    type: "object"
    properties:
      id:
        type: "integer"
        readOnly: true
        description: "Country Id"
      country:
        type: "string"
        description: "Country name"
      created_at:
        type: "string"
        readOnly: true
        format: "date-time"
        description: "Country record creation date"
      deleted_at:
        type: "string"
        format: "date-time"
        description: "Country record delete date"
    required:
      - country

此处删除的_at字段将为空,并且在删除记录之前不会出现在数据库中。我的基于express的nodejs服务器返回的日期如下-

[{id:4,“国家”:“g”,“创建时间”:“2018-01-29T04:51:46.000Z”,“删除时间”:null},{id:5,“国家”:“gaaaf”,“创建时间”:“2018-01-29T04:54:59.000Z”,“删除时间”:null},{id:6,“国家”:“abcd”,“创建时间”:“2018-01-29T04:57:02.000Z”,“删除时间”:null}]

当我试图通过招摇过市的用户界面打Rest电话时,我得到以下错误-

"message":"Response validation failed: failed schema

validation","code":"SCHEMA_VALIDATION_FAILED","failedValidation":true,
{"errors":[{"code":"INVALID_TYPE","message":"Expected type string but found type null","path":["5","deleted_at"],"description":"Country record delete date"},

看完这些文件后,我做了如下工作-

  deleted_at:
    type: "string"
    format: "date-time"
    nullable: true
    description: "Country record delete date"

然后我开始在swagger ui中发现这个验证错误

消息:"不允许其他属性:可空"

我试着从字符串中将type设置为object,但即使这样也不起作用。

 deleted_at:
        type: "object"
        format: "date-time"
        nullable: true
        description: "Country record delete date"

共有1个答案

夏飞鹏
2023-03-14

OpenAPI/Swagger 2.0不允许任何类型的值为空nullable:true是在OpenAPI 3.0中引入的,OpenAPI/Swagger 2.0不支持它。

解决方法是不发送deleted_at,如果它应该是null

 类似资料:
  • 问题内容: 我有一个JPA实体,其属性设置为 但是,当我在JBoss 6上进行部署时,该应用程序会抛出一条错误消息: 我使用Hibernate 3.5作为JPA 2.0实现。 我应该使用什么来引用外键列? 问题答案: 使用代替:

  • 我正试图通过使用< code>allOf来解决这个swagger API继承的问题。这是我的swagger yaml文件。 当我将其粘贴到在线编辑器中时,我收到以下错误,我很难弄清楚。

  • 我正在尝试使用Spring LDAPTemplate控制OpenLDAP。 在LDAP中,我有组和用户组织单位。我正在尝试将新用户绑定到具有组关联的LDAP中。(通用用户帐户)因此,当我尝试绑定新用户时,我还将的属性对象中放入。但是我得到了这样的错误: 到目前为止,我一直在尝试: 以下是我的模式:

  • 问题内容: 我刚接触PHP,但是多年来我一直在使用类似的语言进行编程。我被以下内容弄糊涂了: 它产生了语法错误:这就是调用。 但这很好用: 碰了一会儿之后,我被告知您不能在默认属性中调用函数。你必须在做。我的问题是:为什么?这是“功能”还是草率的实现?有什么根据? 问题答案: 编译器代码建议这是设计使然,尽管我不知道其背后的官方原因是什么。我也不确定要可靠地实现此功能需要花费多少精力,但是目前完成

  • 该应用程序在本地和tomcat服务器上运行良好,但是,当我们将该应用程序移动到WebLogic12c服务器(war部署)时,我们在访问服务时会看到以下错误。 BEA-382120错误:不允许混合XOP/MTOM和附件! 在WebLogic上部署时,消息似乎不再启用MTOM。 Spring WS配置,使用的库:spring-ws-1.5.8.jar commons-httpclient-3.1.ja

  • 总之,是否可以有一个声明某些基属性但不限制其他属性的接口?这是我目前的情况: 我使用的是Flux模式,它定义了一个通用调度器: 然后,我用自己的有效负载类型创建一个调度程序,如下所示: 现在我有了一些动作代码,它应该分派一个带有一些附加数据的有效负载,但是< code>ActionPayload接口只允许< code>actionType。换句话说,这段代码: 给出编译错误,因为与接口不匹配。问题