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

node.js上swagger中的可空字段

薛弘壮
2023-03-14

我花了很多时间试图找到在Node.js中创建大摇大摆文档的解决方案。主库是swagger-node,在其中创建一个swagger yaml文件,然后向其中添加控制器。它会自动在应用程序中提供大摇大摆的ui文档,并根据YAML中指定的模型对请求和响应进行验证。

这很简单,但是我要求某些字段能够显式地返回或接受null作为值,例如:

{ 
  id: 123,
  description: "string",
  date_sent: null
}

我想知道有没有变通的办法?可以添加具有x-nullable供应商特定标志的node可用库,或者以某种方式指定我的非必填字段应该全部为nullable。

我是否必须自己编写一些东西,然后在验证器中间件运行之前对其进行修改,或者有人可以建议一些解决方案?

共有1个答案

刘永望
2023-03-14

OpenAPI(fka Swagger)规范V3.0.0支持nullable字段,但在V2.0中不支持。可为空的类型定义如下:

# Can be string or null
type: string
nullable: true
 类似资料:
  • 我们有一个SpringBoot(版本1.5.12)REST Api,带有springfox-swagger2和springfox-swagger-ui(版本2.9.2) 是否可以在Swagger UI中拥有可空属性(使用Swagger.yaml配置文件或Swagger注释)? 应该是字符串或null(默认为null)。 如果不可能,我们是否可以重写一些swagger类来获得此行为? 谢谢

  • 我有一个带有rest服务的Spring Web MVC应用程序,我尝试使用Springfox for automated docs。 我用 我的swaggerconfig:

  • 我对通过Java注释生成的JSON swagger文档遇到了一些麻烦(REST使用Jersey公开,序列化由Jackson处理)。查看生成的Swagger,它包括值,这些值导致Swagger UI崩溃(生成的YAML没有这个问题)。 这里是JSON的摘录: 此解决方案建议将对象映射器设置为省略值以解决此问题,但实际情况是,我不知道在何处或如何轻松访问映射器,并且在REST服务类上使用注释是毫无意义

  • 问题内容: 可以在UNIX套接字上监听吗?我找不到与此有关的任何文档。我只看到了在专用端口上监听的可能性。 问题答案: 是。在文档中。 https://nodejs.org/api/net.html#net_server_listen_path_backlog_callback

  • 问题内容: Java中的成员(字段或方法)与它们各自的类相关联,而不是与此类的对象相关联。以下代码尝试访问引用上的静态字段。 尽管返回,但它可以工作并显示。此代码如何工作? 问题答案: 该行为在Java语言规范中指定: 空引用可用于访问类(静态)变量而不会引起异常。 更详细地讲,进行静态场评估,例如以下工作(重点是我的工作)-在您的情况下: 计算主表达式,并丢弃结果。[…] 如果该字段是非空白的f