我在控制器中有一个@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"
}
},...