Swagger 1.5.3 перечисляет тело как параметр для ретквестов GET

После перехода на Swagger 1.5.3-M1 с 1.5.3 я заметил, что наш файл swagger.json отличается (и ошибочен)

Раньше запрос на получение образца выглядел бы так.

   "paths":{  
      "/stores":{  
         "get":{  
            "tags":[  
               "stores"
            ],
            "summary":"Retrieve a list of stores",
            "description":"",
            "operationId":"getStores",
            "produces":[  
               "application/json"
            ],
            "parameters":[  
               {  
                  "name":"api_key",
                  "in":"query",
                  "description":"API consumer key",
                  "required":false,
                  "type":"string"
               },
               {  
                  "name":"onlyConnectedStores",
                  "in":"query",
                  "description":"Only select connected stores",
                  "required":false,
                  "type":"string"
               },
               {  
                  "name":"offset",
                  "in":"query",
                  "description":"Number of records to offset before returning first record",
                  "required":false,
                  "type":"string",
                  "default":"0"
               },
               {  
                  "name":"limit",
                  "in":"query",
                  "description":"Number of records to return",
                  "required":false,
                  "type":"string",
                  "default":"10"
               }
            ],

Теперь это выглядит так

  "paths":{  
      "/stores":{  
         "get":{  
            "tags":[  
               "stores"
            ],
            "summary":"Retrieve a list of stores",
            "description":"",
            "operationId":"getStores",
            "produces":[  
               "application/json"
            ],
            "parameters":[  
               {  
                  "in":"body",
                  "name":"body",
                  "required":false,
                  "schema":{  
                     "$ref":"#/definitions/AsynchronousResponse"
                  }
               },
               {  
                  "name":"api_key",
                  "in":"query",
                  "description":"API consumer key",
                  "required":true,
                  "type":"string"
               },
               {  
                  "name":"onlyConnectedStores",
                  "in":"query",
                  "description":"Only select connected stores",
                  "required":false,
                  "type":"string",
                  "default":"false"
               },
               {  
                  "name":"offset",
                  "in":"query",
                  "description":"Number of records to offset before returning first record",
                  "required":false,
                  "type":"string",
                  "default":"0"
               },
               {  
                  "name":"limit",
                  "in":"query",
                  "description":"Number of records to return",
                  "required":false,
                  "type":"string",
                  "default":"10"
               }
            ],

Из-за этого кажется, что тело отображается как параметр для любого из наших запросов GET, хотя на самом деле нет параметра «тело».

введите описание изображения здесь

Любая идея, почему этот дополнительный параметр "body" будет отображаться в самом последнем выпуске swagger?


person benstpierre    schedule 15.09.2015    source источник


Ответы (1)


Ага, это связано с некоторыми изменениями в поведении. Я предполагаю, что рассматриваемый метод имеет параметр AsynchronousResponse. Было бы полезно, если бы вы могли открыть проблему в проекте с помощью сигнатуры метода, чтобы мы могли скрыть параметр по умолчанию.

А пока вы можете скрыть это, добавив к этому методу параметр @ApiParam(hidden=true).

person Ron    schedule 17.09.2015