Swagger-Dredd:为参数指定多种类型

Swagger-Dredd: specifying more than one type for a parameter

我正在尝试在我的项目中实施 API 测试并且我正在使用 Dredd。现在我的一些响应参数 return 'null' 值,这符合逻辑。在我的 yml 文件中,我如何指定 null 可以是除了正常预期值之外的有效值,比如 string。

cdeOutageUpdateType: {type: string}, txtDesc: {type: string},

上述参数中,cdeOutageUpdateType为空即可。但是我的 Dredd 测试因此失败了。

body: At '/19/cdeOutageType' Invalid type: null (expected string)

我找到了解决这种情况的方法。 可以使用属性 "x-nullable"

修改 Swagger 规范

cdeOutageUpdateType: {type: string, x-nullable: true}, txtDesc: {type: string},

如果 cdeOutageUpdateType 为 null,上面将忽略它。