如何在swagger-springfox

时间:2019-04-12 10:37:11

标签: java spring kotlin swagger springfox

我在控制器中有一个@ModelAttribute参数,用于获取请求,而springfox-swagger用于生成文档。 当我使用Java时,它工作得很好,并且此参数在swagger中的类型为“ query”,但是将控制器移至kotlin后,参数类型更改为“ body”。如何将此参数的类型设置为“查询”?

使用的摇摇欲坠的版本:

springfox-swagger2:2.7.0

swagger-annotations: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"
          }
        },...

0 个答案:

没有答案