# swagger3 #Hidden ignore=@io.swagger.v3.oas.annotations.Hidden field.ignore=@io.swagger.v3.oas.annotations.Hidden param.ignore=@io.swagger.v3.oas.annotations.Hidden #Operation api.name=@io.swagger.v3.oas.annotations.Operation#summary method.doc=@io.swagger.v3.oas.annotations.Operation#summary method.doc=@io.swagger.v3.oas.annotations.Operation#description method.doc[@io.swagger.v3.oas.annotations.Operation#deprecated]=「已废弃」 method.default.http.method=@io.swagger.v3.oas.annotations.Operation#method api.tag=@io.swagger.v3.oas.annotations.Operation#tags api.tag[@io.swagger.v3.oas.annotations.Operation#deprecated]=deprecated #Tag(s) api.tag=@io.swagger.v3.oas.annotations.tags.Tag#name api.tag[@io.swagger.v3.oas.annotations.tags.Tags]=groovy:``` @it.annValue("io.swagger.v3.oas.annotations.tags.Tags").collect{it.name} ``` #Schema param.required=groovy:it.ann("io.swagger.v3.oas.annotations.media.Schema","requiredMode")?.endsWith("REQUIRED") param.doc=@io.swagger.v3.oas.annotations.media.Schema#description param.ignore=@io.swagger.v3.oas.annotations.media.Schema#hidden field.required=groovy:it.ann("io.swagger.v3.oas.annotations.media.Schema","requiredMode")?.endsWith("REQUIRED") field.name=@io.swagger.v3.oas.annotations.media.Schema#name field.doc=@io.swagger.v3.oas.annotations.media.Schema#description field.ignore=@io.swagger.v3.oas.annotations.media.Schema#hidden api.tag[@io.swagger.v3.oas.annotations.media.Schema#deprecated]=deprecated #Parameter param.ignore=@io.swagger.v3.oas.annotations.Parameter#hidden param.required=@io.swagger.v3.oas.annotations.Parameter#required param.doc[@io.swagger.v3.oas.annotations.Parameter#deprecated]=「已废弃」 param.doc=@io.swagger.v3.oas.annotations.Parameter#description # resolve the parameters from Parameter resolve_parameter=``` def desc = map.description def paramType = map.in?.value ?: "query" def required = map.required?:true if(paramType==""||paramType=="query"){ api.setParam(map.name,null,required,desc) }else if(paramType=="form"){ api.setFormParam(map.name,"",required,desc) }else if(paramType=="path"){ api.setPathParam(map.name,null,desc) }else if(paramType=="header"){ api.setHeader(map.name,null,required,desc) } ``` # extract parameter from Parameter export.after[@io.swagger.v3.oas.annotations.Parameter]=groovy:``` def map = it.annMap("io.swagger.v3.oas.annotations.Parameter") ${resolve_parameter} ``` # extract parameters from Parameters export.after[@io.swagger.v3.oas.annotations.Parameters]=groovy:``` def maps = it.annMap("io.swagger.v3.oas.annotations.Parameters") for(map in maps.value){ ${resolve_parameter} } ``` # extract parameters from Operation.parameters export.after[@io.swagger.v3.oas.annotations.Operation]=groovy:``` def maps = it.annMap("io.swagger.v3.oas.annotations.Operation").parameters if(maps==null)return for(map in maps){ ${resolve_parameter} } ``` # Resolve the response from `APIResponse` into the API description resolve_swagger3_api_response=``` api.setResponseCode(map.responseCode?:200) api.appendResponseBodyDesc(map.description) def responseHeaders = map.headers if(responseHeaders!=null){ for(responseHeader in responseHeaders) { api.setResponseHeader(responseHeader.name,"",responseHeader.required?:true,responseHeader.description) } } ``` # Resolve `APIResponse` into the API description export.after[@io.swagger.v3.oas.annotations.responses.ApiResponse]=groovy:``` def map = it.annMap("io.swagger.v3.oas.annotations.responses.ApiResponse") ${resolve_swagger3_api_response} ``` # Resolve `APIResponses` into the API description export.after[@io.swagger.v3.oas.annotations.responses.ApiResponses]=groovy:``` def maps = it.annMap("io.swagger.v3.oas.annotations.responses.ApiResponses") for(map in maps.value){ ${resolve_swagger3_api_response} } ``` # extract parameters from Operation.parameters export.after[@io.swagger.v3.oas.annotations.Operation]=groovy:``` def maps = it.annMap("io.swagger.v3.oas.annotations.Operation").responses if(maps==null)return for(map in maps){ ${resolve_swagger3_api_response} } ```