Как определить @ModelAttribute как параметр запроса в Get-запросе в swagger-springfox - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть параметр @ModelAttribute в контроллере для get-запросов и springfox-swagger для генерации документов. Когда я использовал java, он работал хорошо, и этот параметр имел тип «query» в swagger, но после перемещения моего контроллера в kotlin тип параметра изменился на «body». Как установить тип этого параметра на «запрос»?

Используемые версии Swagger:

springfox-swagger2: 2.7.0

чванство-аннотации: 1.5.13

Я пытался использовать аннотацию @ApiImplicitParam, но она не работает:

@ApiImplicitParams(value = [
        ApiImplicitParam(name="paramName", paramType = "query", dataTypeClass = ParamClass::class)
])
@GetMapping("/")
fun get(@Valid @ModelAttribute(name = "paramName") paramName: ParamClass): String {...}

Рабочий код в Java:

@GetMapping(value = "/")
public String get(@Valid @ModelAttribute ParamClass paramName) {...}

Ожидаемые параметры в swagger json:

"parameters" : [ 
       {
          "in" : "query",
          "name" : "field1_in_ParamClass",
          "type" : "string"
          "required" : false,
       },
       {
          "in" : "query",
          "name" : "field2_in_ParamClass",
          "type" : "string"
          "required" : false,
       },...

Фактические параметры в swagger json:

"parameters" : [ 
       {
          "in" : "body",
          "name" : "paramName",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ParamClass"
          }
        },...
...