swagger-api / swagger-play

Apache License 2.0
330 stars 181 forks source link

@ApiImplicitParam is not converted to expected json spec #130

Open JFCote opened 7 years ago

JFCote commented 7 years ago

Hi!

I'm trying to declare an implicit param that is an array of String in the "csv" format. The yaml look like this for the parameter:

parameters:
        - name: tags
          in: query
          description: tags to filter by
          required: false
          type: array
          items:
            type: string
          collectionFormat: csv

My annotation looks like this:

@ApiImplicitParams({
        @ApiImplicitParam(name = "tags", value = "tags to filter by", allowMultiple = true, dataType = "string", paramType = "query")
    })

But the generated json is like this:

"parameters" : [ {
          "name" : "tags",
          "in" : "query",
          "description" : "tags to filter by",
          "required" : false,
          "type" : "string",
          "items" : {
            "type" : "string"
          }
        }]

First, it looks to me that the @ApiImplicitParam is missing very useful param like "container" or something like that. I'm not even sure "allowMultiple" purpose is to tell that it's an array, but if it's the case, then the generation doesn't work.

I'm using version 1.5.3 with Play Framework 2.5

Thanks!