Swagger 使用Dredd进行合同测试时发生Int32错误

Swagger 使用Dredd进行合同测试时发生Int32错误,swagger,swagger-2.0,springfox,dredd,Swagger,Swagger 2.0,Springfox,Dredd,我有一个应用程序,它使用Swagger2。这有一个端点,其中包含以下招摇过市文档: { "MyEndpoint": { "type": "object", "properties": { "resultCount": { "type": "integer", "format": "int32" }, "results": { "type": "array", "items":

我有一个应用程序,它使用Swagger2。这有一个端点,其中包含以下招摇过市文档:

{
  "MyEndpoint": {
    "type": "object",
    "properties": {
      "resultCount": {
        "type": "integer",
        "format": "int32"
      },
      "results": {
        "type": "array",
        "items": {
          "$ref": "#/definitions/MyResult"
        }
      },
      "title": "MyEndpoint"
    },
    "MyResult": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "title": "AResult"
    }
  }
}
这是从我整个项目中的注释自动生成的

运行Dredd合同测试时,我收到以下错误消息:

error: Error: unknown format "int32" is used in schema at path "#/properties/resultCount"
我的
dredd.yml
文件指向自动生成的文件,但如果我将其更改为指向手动创建的
json
文件,该文件与上面显示的文件相同,除了
resultCount
部分如下所示:

"resultCount": {
   "type": "integer"
}
@ApiModel
public class MyResponse{

    @ApiModelProperty(dataType = "Number")
    private int resultCount;

    @ApiModelProperty(dataType = "MyResult")
    private MyResult aresult;

}
那我的考试就通过了

我正在使用springfox注释生成此招摇过市文档,如下所示:

"resultCount": {
   "type": "integer"
}
@ApiModel
public class MyResponse{

    @ApiModelProperty(dataType = "Number")
    private int resultCount;

    @ApiModelProperty(dataType = "MyResult")
    private MyResult aresult;

}
我想做的是做一些注释,使swagger2生成文档,而不使用
“格式”:“int32”
行,这似乎是导致测试失败的原因


我不认为这是德雷德的问题,但我不知道如何在大摇大摆中表达我的想法。有没有办法解决这个问题?是否需要使用某个注释?

降级到dredd 12为我解决了这个问题。看起来13.x版本有问题